Đề tài Sinh viên trình bày điểm giống và khác nhau giữa C++, Java và C# - Nguyễn Công Huy

Có chung nhiều kiểu dữ liệu cơ bản như char, int, long. được định nghĩa sẵn. (tuy

nhiên chúng có thể khác nhau về độ dài)

- Các kiểudữ liệu đều được

quy về các con số, kể cả

kiểu boolean, char. Do đó

có sự tự chuyển đổi qua lại

giữa các kiểu dữ liệu.

- Kiểu int có độ dài là 32 bit

(trong VC++) hoặc 16 bit

(trong các trình biên dịch

khác); kiểu long có độ dài

32 bit; char có độ dài 8

bit .

- Có kiểu số nguyên không

dấu như unsigned int.

pdf3 trang | Chuyên mục: Lập Trình Hướng Đối Tượng | Chia sẻ: dkS00TYs | Lượt xem: 1943 | Lượt tải: 1download
Tóm tắt nội dung Đề tài Sinh viên trình bày điểm giống và khác nhau giữa C++, Java và C# - Nguyễn Công Huy, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
BÀI THU HOẠCH SỐ 1 :
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG LỚP K3C4
Đề bài : Sinh viên trình bày điểm giống và khác nhau giữa C++, Java và C#.
Bài làm
C++ C# Java
Kiểu dữ 
liệu
Có chung nhiều kiểu dữ liệu cơ bản như char, int, long... được định nghĩa sẵn. (tuy 
nhiên chúng có thể khác nhau về độ dài)
- Các kiểu dữ liệu đều được 
quy về các con số, kể cả 
kiểu boolean, char. Do đó 
có sự tự chuyển đổi qua lại 
giữa các kiểu dữ liệu.
- Kiểu int có độ dài là 32 bit 
(trong VC++) hoặc 16 bit 
(trong các trình biên dịch 
khác); kiểu long có độ dài 
32 bit; char có độ dài 8 
bit ...
- Có kiểu số nguyên không 
dấu như unsigned int...
- Các kiểu dữ liệu không phải 
số như char, boolean thì 
không ở dạng số như C++
- Kiểu int có độ dài 32 bit; 
kiểu long có độ dài 64 bit; 
char có độ dài 16 bit ...
- Có kiểu số nguyên không 
dấu như unsigned int...
- Các kiểu dữ liệu không 
phải số như char, boolean 
thì không ở dạng số như 
C++
- Kiểu int có độ dài 32 
bit; long có độ dài 64 bit, 
char có độ dài 16 bit ...
- Không có kiểu số 
nguyên không dấu.
Kiểm tra 
kiểu, 
chuyển 
đổi kiểu 
dữ liệu.
Tự động chuyển thành kiểu dữ liệu cấp cao hơn khi thực hiện phép tính giữa hai kiểu 
dư liệu khác nhau.
Có 2 cách chuyển đổi kiểu, ngầm định và tường minh :
+ Kiểu ngầm định : Tự chuyển về cùng kiểu dữ liệu khi thực hiện phép toán hoặc phép 
gán. Nếu chuyển từ cao xuống thấp thì sẽ có nguy cơ sai số.
+ Kiểu tường minh : Việc chuyển đổi là do người lập trình thực hiện. VD : float y=3; 
int x=(int)y;
Không cho phép chuyển 
đổi kiểu dữ liệu do người 
dùng định nghĩa.
Cho phép chuyển đổi kiểu dữ 
liệu do người dùng định 
nghĩa.
Không cho phép chuyển 
đổi kiểu dữ liệu do người 
dùng định nghĩa.
Nhập xuất Cấu trúc lệnh nhập xuất khá giống nhau.
- Nhập bằng lệnh 
cin>> >>...;
Xuất bằng hàm
 cout 
<<...;
- Nhập bằng lệnh 
System.Console.Read() để 
đọc số và 
System.Console.Readline() 
để đọc chuỗi. 
Hàm Read() và Readline() 
trả về giá trị nhập vào. Xuất 
ra bằng lênh 
System.Console.Write(<đối 
tượng xuất>); hoặc 
- Dùng lệnh 
System.out.println(“<n
ội dung>”)
Họ tên : Nguyễn Công Huy
Lớp : K3C4
- Khác nhau về định dạng 
dữ liệu xuất ra màn hình.
- Các nội dung nối với nhau 
bởi dấu <<;
System.Console.Writeline(<
đối tượng xuất>)
- Khác nhau về định dạng dữ 
liệu xuất ra màn hình.
- Các nội dung nối với nhau 
bởi dấu &
- Khác nhau về định dạng 
dữ liệu xuất ra màn hình.
- Các nội dung nối với 
nhau bởi dấu +
Hằng Là những biến có giá trị không thay đổi được trong khi thực thi.
Khai báo bằng câu lệnh
#define <giá 
trị>
Không cần khai báo kiểu 
trong C++ (sẽ tự nhận diện 
qua ).
Ví dụ :
#define hang 5 (int)
#define hang 5l(long)
#define hang 'a' (hang là 
kiểu char, nhưng thực ra là 
mang giá trị 97)
Không có dấu ; ở cuối.
Nhập bằng lệnh
const <tên 
hằng> = ;
Phải khai báo kiểu dữ liệu.
C# còn có kiểu khai báo hằng 
tập hợp :
enum 
{
 = <giá 
trị>,
}
Có dấu ; ở cuối.
Dùng lệnh
final 
 = ;
Phải có khai báo kiểu dữ 
liệu.
Có dấu ; ở cuối.
Chú thích
Đều dùng hai cách chú thích là // cho một dòng và /**/ cho một khối.
Chỉ có hai kiểu chú thích. 
Các kiểu suy rộng như /// 
hay /** đều được hiểu 
như // và /*
Ngoài hai cách giống C++, 
C# còn sử dụng kiểu chú 
thích ///, cho nội dung chú 
thích chi tiết hơn khi sử dụng 
hàm, rất hữu ích để phòng khi 
quên tác dụng của hàm hoặc 
của đối số
Ví dụ :
/// Chú thích về 
công dụng hàm 
/// 
biến 1 để làm gì ?
private void ham(int bien)
{}
Kiểu /***/ 
được hiểu như /// trong 
C#, gọi là create code 
report.
Quản lý 
và cấp 
phát bộ 
nhớ.
Bộ nhớ được cấp phát tự động khi khai báo biến theo cách thông thường.
Cấp phát bộ nhớ động bằng 
lệnh new(); và giải phóng 
bộ nhớ bằng lệnh 
delete();
C# hạn chế dùng con trỏ (vì 
dùng con trỏ rất khó quản lý 
trong dự án lớn, dễ ảnh hưởng 
đến vùng nhớ của chương 
trình khác), do đó việc thực 
hiện cấp phát khi tạo đối 
tượng và giải phóng bộ nhớ 
khi đối tượng hết nhiệm vụ và 
số tham chiếu đến nó bằng 0 
(thực hiện bởi bộ garbage 
Quản lý và cấp phát bộ 
nhớ trong java cũng có 
cách hoạt động tương tự 
như trong C#.
colletion), thường được thực 
hiện tự động.
Không 
gian tên.
Đều chung một mục đích là tránh việc trùng tên khi có quá nhiều class giống nhau. 
Bởi vậy, ta phải đặt chúng vào những namespace riêng.
Khai báo trong VC++ :
namespace <tên 
namespace>
{
<Các thành phần trong 
namespace (biến, hàm…)>
}
-Gọi thành phần bên trong :
::<thành 
phần cần gọi>
-Khai báo giống với VC#
- Gọi thành phần bên trong :
.<thành 
phần cần gọi>
Để sử dụng được namespace 
thì phải sử dụng namespace:
using 
- Cách khai báo khác về 
cú pháp
Hàm 
trùng tên.
Hàm trùng tên được sử dụng khi muốn đặt các hàm có tên giống nhau (thường là để 
làm những việc giống nhau) nhưng khác nhau về số lượng tham số, kiểu trả về…, kiểu 
trả về phụ thuộc vào tham số đầu vào.
Nhận xét chung : 
Do C# là một ngôn ngữ lập trình được phát triển từ C++ và Java, còn Java lại là ngôn ngữ vay 
mượn nhiều cấu trúc, cú pháp từ C++ nên giữa chúng có nhiều điểm giống nhau. Chúng cũng cùng 
là ngôn ngữ lập trình hướng đối tượng. Chúng cũng hỗ trợ nhiều kiểu dữ liệu khác nhau. 
Tuy nhiên, do lịch sử phát triển khác nhau nên giữa chúng cũng có không ít điểm khác nhau, mỗi 
ngôn ngữ có một lợi thế riêng :
– C++ là ngôn ngữ mạnh, can thiệp sâu vào hệ thống, thường dùng để lập trình những chương 
trình lớn, hệ điều hành, driver, game ..., nên đòi hỏi người lập trình phải có kiến thức cao 
hơn.
– Java là một ngôn ngữ “Viết một lần, thực thi khắp nơi”, nó không biên dịch trước mà đến 
khi chạy mới thông dịch. Vì vậy, trên hệ điều hành cần cài môi trường thực thi (java 
runtime). Nhưng trước đó, java đã biên dịch mã nguồn thành bytecode nên tốc độ cũng được 
cải thiện hơn so với những ngôn ngữ thông dịch khác như Python, Perl, PHP, ...
– C# được phát triển dựa trên C++ và Java. Nó phụ thuộc chặt chẽ vào .NET Framework, với 
những đặc trưng như : mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình 
dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, 
delegate, interface, exception, ...

File đính kèm:

  • pdfĐề tài Sinh viên trình bày điểm giống và khác nhau giữa C++, Java và C# - Nguyễn Công Huy.pdf