Đề tài Sự giống và khác nhau của 3 ngôn ngữ C++, C# và Java

Chú thích:sử dụng chú thích để giải thích những câu lệnh .Có 2 loại chú thích trong C++.

Sau “//” cho ®n ht dßng lµ chĩ thÝch, ®-ỵc ch-¬ng tr×nh dÞch b qua khi biªn dÞch ch-¬ng

tr×nh trong C++.

§i víi mt ®o¹n ch-¬ng tr×nh kiĨu chĩ thÝch giíi h¹n bi “/*” vµ “*/”dùng để m« t¶ ®-ỵc

nhiỊu th«ng tin h¬n.

Vd:cout<<”hello”;//xuất ra dòng “hello”

pdf10 trang | Chuyên mục: Lập Trình Hướng Đối Tượng | Chia sẻ: dkS00TYs | Lượt xem: 1806 | Lượt tải: 0download
Tóm tắt nội dung Đề tài Sự giống và khác nhau của 3 ngôn ngữ C++, C# và Java, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ân là ABS nhưng mà các tham số truyền vào khác nhau như hàm 2 là 
kiểu int ,hàm 3 là kiểu float .Việc xác định hàm do trình biên dịch chọn lựa và tuân theo 1 số 
nguyên tắc sau:
trường hợp có 1: tham số: trình biên dịch sẽ xác định theo nguyên tắc ưu tiên từ trên 
xuống dưới theo các lựa chọn sau:
Phân biệt các kiểu dữ liệu cơ sở khác nhau cũng như là dấu.
T-¬ng øng d÷ liƯu sè nh-ng cã sù chuyĨn ®ỉi kiĨu d÷ liƯu tù ®éng : char vµ short --
>int; float -->int.
ChuyĨn ®ỉi kiĨu chuÈn.
ChuyĨn ®ỉi kiĨu do ng-êi sư dơng ®Þnh nghÜa.
NÕu cã nhiỊu hµm phï hỵp ë cïng mét møc, trình biên dÞch ®-a ra th«ng b¸o lçi do kh«ng biÕt chän 
hµm nµo gi÷a c¸c hµm phï hỵp.
Tr-êng hỵp c¸c hµm cã nhiỊu tham sè:
Trình biên dịch chän cho mçi tham sè c¸c hµm phï hỵp (ë tÊt c¶ c¸c møc ®é). Sau đó 
trình biên dịch sẽ tiếp tục chọn các hàm phù hợp nhất trong các hàm còn lại..
Trong tr-êng hỵp vÉn cã nhiỊu hµm tho¶ m·n, lçi biªn dÞch x¶y ra do ch-¬ng tr×nh
dÞch kh«ng biÕt chän hµm nµo trong sè c¸c hµm tháa m·n.
Nhập xuất:ngoài các hàm nhập xuất trong C thuờng thì C++ còn hỗ trợ thêm 2 hàm nhập xuất 
mới trong thư viện “iostream.h” .
Hàm xuất: là hàm “cout<<”,bao gồm các kiểu dữ liệu là int ,float,char…
Vd1: cout<<”hello”;//xuất ra dòng “hello”
Vd2:int n=5;
Cout<<n;//kết quả xuất ra là 5
Hàm nhập :cin>> dùng nhập vào từ thiết bị chuẩn( bàn phím)
Vd 1 :int n ;
Cin>>n ;//nhập giá trị của 1 số nguyên
Trong ngôn ngữ C#:
Chú thích:có 2 loại chú thích là chú thích dòng và chú thích XML dùng để ghi chép tài liệu.
Chú thích dòng:dùng để chú thích cho 1 dòng và dùng “//”(2 dấu /) trước dòng chú thích
Vd:
Cout<<”\nHello”;\\xuất ra màng hình dòng “Hello”
Chú thích XML: là 1 trong các phương thức mà c# hỗ trợ dùngđể ghi chép tài liệu,bao gồm 
2 loại thẻ
Thẻ sơ cấp:
Summary.
Remarks: mơ tả một kiểu.
Value: mơ tả giá trị của một thuộc tính.
Param: ghi chép từng tham số.
Returns: định nghĩa kiểu trả về.
Exception: xác định các ngoại lệ.
Example: cung cấp một ví dụ.
Permission: xác định ai được phép truy cập.
Seealso: tham chiếu các lớp khác.
Include.
Các thẻ thứ cấp: dùng để đánh dấu và định dạng Text. Gồm có:
Nhập và : được sử dụng định nghĩa khi nào một phần Text là mã.
Para :được sử dụng để chỉ định một đoạn trong các chú thích. Nếu các chú 
thích dài, bạn nên ngắt nĩ thành các đoạn để làm cho việc đọc trở nên dễ dàng hơn.
Paramref: cĩ thể được sử dụng để tạo một tham chiếu dẫn sang một tham số
See.
List.
Vd 1. /// 
 2. /// Thuộc tính này số lượng các sách cĩ trong thư viện. 
 3. /// 
 4. protected int numberOfBooks;
Hằng số:là 1 biến nhưng giá trị không đổi và được chia thành 3 loại:
Giá trị hằng:có câu lệnh gán như : x=100;
Biểu tượng hằng:gán 1 tên cho 1 giá trị hằng,bằng cách dùng từ khóa const và cú pháp:
=;
Vd:const int DoSoi =100;//nhiệt độ sôi của nước là 100 độ C
Kiểu liệt kê:là tập hợp các hằng có cùng giá trị,cú pháp liệt kê
[thuộc tính][bổ sung]emun[:kiểu cơ sở]{danh sách các thành phần liệt kê};
Kiểu dữ liệu: có thể chia thành 2 kiểu tập hợp chính:
Ngôn ngữ cung cấp sẵn cho người lập trình:thông thuờng là kiểu dữ liệu giá trị (value) 
ngoại trừ kiểu đối tượng và kiểu chuỗi.Gồm có các kiểu thông thuờng:int,float…nhưng trong C# có 
điểm khác là kiểu int luôn chiếm 4 byte tại vì nó ánh xạ từ kiểu int32 trong .net
Kiểu được người dùng định nghĩa:chủ yếu là kiểu dữ liệu tham chiếu
Kiểm tra kiểu và đổi kiểu:có thể chuyển từ kiểu dữ liệu này sang kiểu dữ liệu khác 
qua 2 cơ chế chuyển đổi tường minh hoặc chuyển đổi ngầm định.
Chuyển đổi ngầm định được thực hiện tự động và kiểu chuyển đổi phải có kích thức 
lớn hơn.
Vd :int x=3;//kiểu int dài 32bit
 long y=x ;//chấp nhận vì kiểu long có 64 bit
nhưng chúng ta không thể nào làm ngược lại được vì kiểu long(64 bit) dài hơn kiểu int(32 
bit) => can phải ép kiểu bằng cách chuyển đổi tường minh.
Ép kiểu tường minh như sau:
Int x;
Float y=4;
X=(float)y ;
Không gian tên:(namespace) được sữ dụng nhằm tránh sự xung đột giữa các thư viện khác 
nhau từ các nhà cung cấp,ngoài ra namespace còn được coi là tập họp các lớp đối tượng,và cung 
cấp duy nhất các kiểu định danh cho các kiểu dữ liệu và được đặt trong 1cấu trúc phân cấp,là 1 
cách để lưu mã nguồn để sử dụng về sau.Ngoài thư viện do MS.NET cung cấp ra thì chúng ta còn 
có thể tự định nghĩa namespace theo cách sử dụng từ khóa using để khai báo sử dụng namespace : 
using 
Để tạo namespace dùng cú pháp như sau :
Namespace 
{
…………………………………………….
}
Vd :
Namespace MyLib
{
namespace Demo
{
using System ;
public class Tester
{
public static int Main()
{
for(int i=0,i<10,i++)
{
Console.WriteLine( « i : {0},i» ) ;
}
Return 0 ;
}
}
}
}
Quản lý và cấp phát bộ nhớ: thu gom bộ nhớ tự động khi kết thúc chương trình.Cấp 
phát bộ nhớ tựa như là C++.
Hàm trùng tên:hay còn gọi là nạp chồng phương thức,nhằm tạo nên những phương thức có 
cùng tên nhưng khác về số lương tham số và tính chất của tham số.
Nhập xuất:cũng giốn như C++ thì C# cũng có cách định nghĩa để hạng chế truy cập dữ liệu 
khi khai báo:
Public :cho phép 1 thành viên có thể được truy cập bởi những phương thức của thành viên 
lớp khác.
Private :chỉ cho phép các phương thức trong lớp truy cập.
Protect :mở rộng của private cho phép truy xuất từ các lớp dẫn xuất của nó.
Internal :cho phép bất cứ phương thức nào của khối kết hợp có thể truy xuất
Trong ngôn ngữ Java
Chú thích:dùng ký hiệu “//” để chú thích trong Java,khi gặp ký tự này thì trình biên dịch sẽ bỏ 
qua dóng thuyết minh .Ngoài ra thì còn 1 loại chú thích bắt đầu với “/*” và kết thúc với “*/”.
Hằng số:Là 1 giá trị bất biến trong chương trình,nó bao gồm:
Hằng số nguyên:chú ý nếu là hằng số long thì ta thêm đuôi chữ l hoăc L.
Hằng số thực:trường hợp nếu là dạng float thì đuôi thêm vào F hoặc f,còn đuôi là d hoặc D
nếu là kiểu double
Hằng Boolean:có 2 giá trị hằng Boolean là true hoặc false.
Hằng ký tự:là 1 ký tự đơn name giữa 2 dấu ngoặc đơn
Ví dụ:’a’//là ký tự a
Một số hằng ký tư đặc biệt:
\b xóa lùi
\t là tab
\n là xuống hàng
\r là dấu enter
……………
Hằng chuỗi:là tập hợp các ký tự được đặt giũa 2 dấu nháy kép “ ”,một hằng chuỗi 
không có ký nào là hằng chuỗi rỗng.
Kiểu dữ liệu:trong Java chia thành 2 loại kiểu dữ liệu:kiểu nguyên thủy và kiểu tham chiếu
Kiểu dữ liệu nguyên thủy:trong Java cung cấp cho chúng ta 8 kiểu dữ liệu cơ sở:byte (8 
bit),char(16 bit),Boolean(1 bit),short(16 bit),int(32 bit),long (64 bit),float(32 bit),double(64 bit).
Kiểu dữ liệu tham chiếu(reference)
Mảng :hợp các kiểu dữ liệu cùng loại.
Lớp:tập hợp các biến ,các phương thức.
Giao diện:là một lớp trừu tượng được tao ra để bổ sung cho các kế thừa đa lớp 
trong Java.
Kiểm tra kiểu và đổi kiểu:là chuyển từ kiểu dữ liệu này sang kiểu dữ liệu khác trong 
Java.Java sử dụng tính năng ép kiểu của các phần mềm C và C++.Chúng ta cần phải cẩn trọng 
trong quá trình đổi kiểu vì sẽ có khả năng là mất dữ liệu khi chuyển từ kiểu dữ liệu theo huớng thu 
nhỏ lại.
Không gian tên:dùng để xác định thông tin của môi trường.Trong Java thì các chương trình 
được chia thành các gói các lớp riêng biệt.Những gói này được chỉ dẫn trong chương trình và được 
chỉ ra với sự trợ giúp của phát biểu nhập “import”.
Vd:import java.awt.*;
Thông thuờng chúng ta cần khai báo lớp sau khi phát biểu nhập.
Quản lý và cấp phát bộ nhớ:trong C và C++ thì bộ nhớ được cấp phát và thu hồi 1 
cách nguyên thủy thông qua vùng nhớ heap .Trong Java thì sử dụng 2 heap riêng biệt dùng để cấp 
phát bộ nhớ gồm heap tĩnh và heap động.
Heap tĩnh: chứa các định nghĩa về lớp các hằng các và danh sách các phương pháp.
Heap động:được chia làm 2 phần.Một bên chứa đối tượng, bên còn lại chứa con trỏ trỏ tới 
đối tượng đó.
Hàm trùng tên:bao gồm có 2 loại là nạp chồng (overload) và ghi đè (override).
Overload:là những phương thức trong cùng 1 lớp có,có cùng 1 tên nhưng danh sách các 
tham số khác nhau.Sử dụng việc nạp chồng các phương thức nhằm thực thi các phương thức giống 
nhau đối với các kiểu dữ liệu khác nhau.Là một phương thức đa hình trong quá trình biên dịch.
Vd: như phương thức swap() có thể bị nạp chồng bởi các tham số của kiểu dữ liệu khác như : 
integer,double,float.
Override:là những phương thức có mặt ở lớp cha cũng như các lớp kế thừa.Là một phương 
thức đa hình trong quá trình thực thi.
Nhập xuất:các lớp InputStream và OutputStream cung cấp nhiều khả năng nhập xuất khác 
nhau.Cả 2 lớp này còn có nhiều lớp con để thực hiện việc nhập xuất dữ liệu thông qua vùng nhớ 
điệm,các tập tin và ống dẫn.
lớp InputStream là 1 lớp trừu tượng.Nó định nghĩa cách nhận dữ liệu.Lớp InputStream 
cung cấp một số phương thức dùng để đọc và các luồng dữ liệu làm đầu vào.
read() đọc các byte dữ liệu từ một luồng
close dùng để đóng gói 1 luồng.
……………………
Lớp OutputStream :nó định nghĩa cách ghi đến luồng,nó cũng bao gồm nhiều phương thức 
như lớp InputStream :
write(int) dùng để ghi một byte.
Flush() dùng để xả sạch luồng.

File đính kèm:

  • pdfĐề tài Sự giống và khác nhau của 3 ngôn ngữ C++, C# và Java.pdf
Tài liệu liên quan