Đề 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”
â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:
- Đề tài Sự giống và khác nhau của 3 ngôn ngữ C++, C# và Java.pdf