- vừa được xem lúc

Điểm khác nhau và giống nhau giữa C++ với Java

0 0 17

Người đăng: Ethnic Dev

Theo Viblo Asia

Điểm khác nhau và giống nhau giữa C++ với Java

Có nhiều điểm khác biệt và tương đồng giữa ngôn ngữ lập trình C++ và Java. Dưới đây là danh sách những điểm khác biệt hàng đầu giữa C++ và Java.

Điểm so sánh C++ Java
Nền tảng độc lập C++ phụ thuộc vào nền tảng Java độc lập với nền tảng
Chủ yếu được sử dụng cho C++ chủ yếu được sử dụng để lập trình hệ thống Java chủ yếu được sử dụng để lập trình ứng dụng. Nó được sử dụng rỗng rãi trong các ứng dụng dựa trên Windows, dựa trên web, doanh nghiệp và di dộng.
Mục tiêu thiết kế C++ được thiết kế để lập trình hệ thống và ứng dụng. Đó là một phần mở rộng của ngôn ngữ lập trình C. được thiết kế và tạo ra như một trình thông dịch cho các hệ thống in nhưng sau đó được mở rộng như một máy tính mạng hỗ trợ. Nó được thiết kế để dễ sử dụng và dễ tiếp cận với nhiều đối tượng hơn.
Goto C++ hỗ trợ câu lệnh goto. Java không hỗ trợ câu lệnh goto.
Đa kế thừa C++ hỗ trợ đa kế thừa Java không hỗ trợ đa kế thừa thông qua lớp. Nó có thể đạt được bằng cách sử dụng các giao diện trong java.
Trình biên dịch và thông dịch C++ chỉ sử dụng trình biên dịch. C++ được biên dịch và chạy bằng trình biên dịch chuyển đổi mã nguồn thành mã máy, vì vậy C++ phụ thuộc vào nền tảng. Java sử dụng cả trình biên dịch và trình thông dịch. Mã nguồn Java được chuyển đổi thành mã byte tại thời điểm biên dịch. Trình thông dịch thực thi mã byte này khi chạy và tạo đầu ra. Java được giải thích đó là lý do tại sao nó độc lập với nền tảng.
Gọi theo giá trị và gọi theo tham chiếu C++ hỗ trợ cả gọi theo giá trị và gọi theo tham chiếu. Java chỉ hỗ trợ cuộc gọi theo giá trị. Không có cuộc gọi bằng tham chiếu trong java.
Cấu trúc và Liên minh C++ hỗ trợ các cấu trúc và công đoàn. ava chỉ hỗ trợ cuộc gọi theo giá trị. Không có cuộc gọi bằng tham chiếu trong java.
Thread Support C++ không có hỗ trợ tích hợp cho các luồng. Nó dựa vào thư viện của bên thứ ba để hỗ trợ luồng. Java có hỗ trợ luồng tích hợp.
Documentation comment C++ không hỗ trợ nhận xét tài liệu. Java hỗ trợ tài liệu comment (/*_ ... _/) để tạo tài liệu cho mã nguồn java.
Virtual Keyword C++ hỗ trợ từ khóa ảo để chúng ta có thể quyết định có ghi đè hàm hay không Java không có từ khóa ảo. Theo mặc định, chúng ta có thể ghi đè tất cả các phương thức không tĩnh. Nói cách khác, các phương thức không tĩnh theo mặc định là ảo.
dịch chuyển phải không dấu >>> C++ không hỗ trợ toán tử >>>. Java hỗ trợ toán tử shift phải không dấu >>> điền số 0 ở trên cùng cho các số âm. Đối với số dương, nó hoạt động tương tự như toán tử >>.
Cây kế thừa C++ luôn tạo cây kế thừa mới. Java luôn sử dụng một cây kế thừa duy nhất vì tất cả các lớp đều là con của lớp Object trong Java. Lớp Object là gốc của cây kế thừa trong java.
Phần cứng C++ gần với phần cứng hơn. Java không tương tác nhiều với phần cứng
Hướng đối tượng C++ là một ngôn ngữ hướng đối tượng. Tuy nhiên, trong ngôn ngữ C, không thể có một hệ thống phân cấp gốc duy nhất. Java cũng là một ngôn ngữ hướng đối tượng. Tuy nhiên, mọi thứ (trừ các kiểu cơ bản) đều là đối tượng trong Java. Nó là một hệ thống phân cấp gốc duy nhất vì mọi thứ đều bắt nguồn từ java.lang.Object.

Ghi chú:

  • Ghi chú Java không hỗ trợ các đối số mặc định như C++.
  • Java không hỗ trợ các tệp tiêu đề như C++. Java sử dụng từ khóa import để bao gồm các lớp và phương thức khác nhau.

Ví dụ chương trình C++

File: main.cpp

#include <iostream>
using namespace std;
int main() { cout << "Hello C++ Programming"; return 0;
}

Kết quả:

Hello C++ Programming

Ví dụ chương trình Java

File: Simple.java

class Simple{ public static void main(String args[]){ System.out.println("Hello Java"); }
}

Kết quả:

Hello Java

Bình luận

Bài viết tương tự

- vừa được xem lúc

Tổng hợp các bài hướng dẫn về Design Pattern - 23 mẫu cơ bản của GoF

Link bài viết gốc: https://gpcoder.com/4164-gioi-thieu-design-patterns/. Design Patterns là gì. Design Patterns không phải là ngôn ngữ cụ thể nào cả.

0 0 302

- vừa được xem lúc

Học Spring Boot bắt đầu từ đâu?

1. Giới thiệu Spring Boot. 1.1.

0 0 277

- vừa được xem lúc

Cần chuẩn bị gì để bắt đầu học Java

Cần chuẩn bị những gì để bắt đầu lập trình Java. 1.1. Cài JDK hay JRE.

0 0 50

- vừa được xem lúc

Sử dụng ModelMapper trong Spring Boot

Bài hôm nay sẽ là cách sử dụng thư viện ModelMapper để mapping qua lại giữa các object trong Spring nhé. Trang chủ của ModelMapper đây http://modelmapper.org/, đọc rất dễ hiểu dành cho các bạn muốn tìm hiểu sâu hơn. 1.

0 0 194

- vừa được xem lúc

[Java] 1 vài tip nhỏ khi sử dụng String hoặc Collection part 1

. Hello các bạn, hôm nay mình sẽ chia sẻ về mẹo check String null hay full space một cách tiện lợi. Mình sẽ sử dụng thư viện Lớp StringUtils download file jar để import vào thư viện tại (link).

0 0 71

- vừa được xem lúc

Deep Learning với Java - Tại sao không?

Muốn tìm hiểu về Machine Learning / Deep Learning nhưng với background là Java thì sẽ như thế nào và bắt đầu từ đâu? Để tìm được câu trả lời, hãy đọc bài viết này - có thể kỹ năng Java vốn có sẽ giúp bạn có những chuyến phiêu lưu thú vị. DJL là tên viết tắt của Deep Java Library - một thư viện mã ng

0 0 139