So sánh C++ và Java

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

So sánh C++ và Java

Bài gửi by trungsd121 on Fri Mar 31, 2017 2:33 pm

Sự phát triển của C++ và Java có sự khác nhau về mục tiêu:



Like + cmt ae ơi Laughing Laughing Laughing Laughing Laughing

trungsd121

Tổng số bài gửi : 5
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by trungsd121 on Fri Mar 31, 2017 2:34 pm

úp sọt úp úp úp úp

trungsd121

Tổng số bài gửi : 5
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by tiendat55555 on Fri Mar 31, 2017 2:35 pm

bounce bounce bounce bounce bounce bounce bounce

tiendat55555

Tổng số bài gửi : 12
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by leve12 on Fri Mar 31, 2017 2:45 pm

Hoa sen hồng là biểu tượng cho “quốc hoa” Việt-Nam

LTG – Từ lâu, địa danh Đồng-Tháp-Mười là một miền đất trũng bùn sình ngập nước quanh năm không còn xa lạ gì với hầu hết đồng bào trong cả nước. Tuy nhiên, bên cạnh tình yêu hình ảnh khác thường ngoạn mục đó thì hãy còn có rất nhiều người chưa từng có dịp thỏa mãn đến được tận nơi để tham quan, tìm hiểu về một vùng địa lý có mang nhiều huyền thoại cá biệt ở miệt bưng biền. Và từng được dân gian truyền tụng cho đó là quê hương của muỗi, của đỉa, mà cũng chính lại là quê hương hoa Sen ở đất phương Nam.

An-Tiêm MAI-LÝ-CANG
(Paris)
Tháp-Mười duyên thắng tuyệt vời
Đầm lầy muỗi đỉa, lưng trời hạc bay
Hoa Sen nào của riêng ai!
Quê hương chỉ một, không hai Tháp-Mười*Từ lâu, đất phương Nam từng được coi như là trung tâm của bồ lúa gạo của nước nhà, và cây trái quanh năm bốn mùa tiếp tục nở hoa tươi tốt, đó là do nhờ có những cánh đồng nông nghiệp mênh mông, vườn tược ngút ngàn, thủy lộ sông rạch giao thông thuận tiện. Tuy nhiên, về cảnh sắc ở từng địa phương thì lại cũng đã có những nét đan thanh chấm phá ngoại lệ đa dạng khác nhau. Và một trong những vùng địa lý có mang tính khác lạ hơn nơi nào hết, thì đó chính là vùng văn hóa đặc trưng miệt đầm lầy Đồng-Tháp-Mười ở lãnh thổ biên giới miền Tây Nam-bộ.Nói cách khác, ngày nay cái tên Đồng-Tháp-Mười là một địa danh không còn xa lạ gì đối với hầu hết nhân dân trong nước, mặc dù có người cả đời chưa bao giờ có dịp lãng du đến tận nơi nầy. Dẫu sao, qua các phương tiện truyền thông hiện đại thì người ta cũng từng đã biết rất nhiều về lịch sử của địa phương ở nơi đây nổi tiếng nhất là có nhiều hoa Sen, một loài hoa bình dị tầm thường nhưng lại có mang nhiều ý nghĩa thanh khiết nhất trong các muôn loài hoa dân dã.Vùng đồng lầy Đồng-Tháp-Mười là một khu lòng chảo ngập nước quanh năm có địa hình trũng sâu, về địa thế thì nằm ở đầu nguồn của sông Tiền chảy ngang qua từ nơi biên giới, và được trải rộng ra trên 3 tỉnh Long-An, Tiền-Giang và Đồng-Tháp. Còn cái tên Đồng-Tháp-Mười, thì người ta được biết tới từ hồi đầu thế kỷ 19 trong quá trình khẩn hoang và lưu trú của cư dân ở vào thời kỳ đó. Ngày trước, dưới thời Nam tiến của người Việt thì Đồng-Tháp-Mười được coi như là một vùng đầm lầy hoang dại, giang sơn của muôn loài thú dữ tung hoành trên rừng, dưới nước, và gây rất nhiều trở ngại khó khăn nhất cho công cuộc phát triển dinh điền, khẩn hoang lập ấp của các triều nhà Nguyễn vào lúc bấy giờ. Ở đây, bùn sình lầy bước chân không đi được, muỗi kêu như sáo thổi, đỉa lội lềnh bềnh như bánh canh, dưới sông sấu lội, trên rừng cọp đua. Trăn, rắn rết bò dọc, bò ngang lổn ngổn, chuột đồng to béo nhởn nhơ, từng bầy khỉ vượn nhảy nhót hú vang chuyền cành. Tôm, rùa, cá…bơi lội thư thả dưới đồng lầy, lau lách tha hồ đua nhau vươn mọc um tùm trên gò sâu, gò cạn. Chim chóc tập họp thành từng đàn, cất cánh chao liệng trên toàn cả một cánh đồng thiên nhiên, bao la chứa đầy ngập nước. Cùng chen lẩn sống chung trong môi trường động thực vật đó, còn có sự sinh tồn của nhiều loài phiêu lưu thảo và các loài hoa hoang dã hằng ngày khoe sắc, đổi màu theo thời gian từ hằng thế kỷ đã trôi qua.Tuy nhiên, ngày nay trước ý chí quyết tâm khắc phục và tinh thần khai phá của con người trong cuộc hành trình đi tìm mảnh đất cắm dùi, để mong đổi thay cuộc sống cho bằng được, thì hầu hết cuộc diện cảnh trí ở nơi đây, giờ nầy đã bị hoàn

leve12

Tổng số bài gửi : 14
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by trungsd121 on Fri Mar 31, 2017 2:49 pm

lên lênnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn

trungsd121

Tổng số bài gửi : 5
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by ad21dk20 on Fri Mar 31, 2017 2:51 pm

Sự khác nhau giữa C# và C++
Thừa kế: Trong C++, class và struct hầu như giống nhau, ngược lại trong C#, chúng khá khác nhau. Lớp C# có thể hiện thực/thừa kế (implement) nhiều interface, nhưng chỉ được thừa kế từ chỉ 1 lớp cơ sở. Hơn nữa, struct C# không hỗ trợ thừa kế, và không hỗ trợ constructor mặc định

Mảng (Array): Trong C++ mảng chính là 1 con trỏ (pointer). Trong C#, mảng là đối tượng (object),có thuộc tính và phương thức. Ví dụ, số phần tử của mảng có thể lấy thông qua thuộc tính Length. Mảng C# còn kiểm tra chỉ số thứ tự khi truy xuất phần tử. Cú pháp khai báo mảng trong C# và C++ cũng khác: token "[] " theo sau khai báo kiểu của mảng chứ không phải đứng sau tên biến như trong C++

Boolean: Trong C++, kiểu bool thực ra là số integer. Trong C#, không có sự tự chuyển đổi qua lại giữa bool và các kiểu khác

Kiểu số nguyên long: Trong C#, kiểu long có độ dài 64 bit, trong C++ là 32 bit.

Kiểu số nguyên int: Trong C#, nó chắc chắn có độ dài 32 bit, trong VC++ là 32 bit, trong các trình biên dịch C++ khác, độ dài của nó có thể là 16 bit.

Truyền tham số: Trong C++, mọi biến được truyền bằng trị, nếu không phải là con trỏ hoặc biến tham khảo. Trong C#, đối tượng (một thực thể của class) được truyền tham khảo (truyền tham biến), struct được truyền tham trị, nếu không khai báo "ref" hoặc "out"

Phát biểu switch: Không giống C++, C# hỗ trợ việc nhảy từ nhãn này qua nhãn khác qua phát biểu goto

Delegate: Delegate C# giống như con trỏ hàm của C++, nhưng an toàn và bảo mật.

Phương thức trong lớp cha: C# hỗ trợ từ khóa "base" cho việc gọi lại các phương thức của lớp cha. Hàm nạp chồng (overload) được khai báo 1 cách tường minh bằng từ khóa "override"

Che khuất phương thức: Trong C++ phương thức trong lớp con chắc chắn che khuất phương thức trong lớp cha nếu chúng cùng prototype. Trong C#, bạn phải dùng từ khóa "new" trước phương thức hay thuộc tính bạn muốn che phủ

Chỉ thị tiền biên dịch: C# chỉ cho đặt dẫn hướng tiền biên dịch (là các symbol) trong configuration của project, mà không có các file header (.h)

Exception: C# cung cấp từ khóa "finally" cho đoạn code try {} catch để bắt Exception mà cần thêm những tác vụ bảo đảm an toàn

Toán tử: C# hỗ trợ một số toán tử mở rộng như: "is", "typeof".

Từ khóa "extern": Trong C++, "extern" dùng để khai báo kiểu/biến được định nghĩa trong file .obj khác. Trong C#, extern dùng để tạo ra một bí danh (alias) khi sử dụng version khác của 1 assembly.

Từ khóa "static": Trong C++, static dùng trong khai báo phương thức/thuộc tính/biến trong class, hàm. Trong C#, chỉ dùng đối với các thành viên của class, không có trong hàm

Hàm main: Trong C# hàm Main (M viết hoa) luôn khai báo là static

Con trỏ: Được phép trong C#, nhưng chỉ trong mode unsafe

Sự khác nhau ở các toán tử.

Chuỗi (string): Trong C++, string chỉ đơn giản là mảng ký tự. Trong C# string là 1 đối tượng (object) có hỗ trợ các phương thức tìm kiếm

Từ khóa foreach: Trong C#, cho phép duyệt qua các phần tử của mảng hoặc tập hợp

Tầm vực Toàn cục: Trong C#, biến phương thức không có tầm vực toàn cục, chúng bắt buộc phải thuộc 1 class/struct nào đó

Biến cục bộ: Trong C#, biến cục bộ có thể dùng trước khi khởi tạo giá trị

Quản lý bộ nhớ: C++ không có cơ chế dọn rác, bộ nhớ không được trả lại hệ thống cho đến khi process kết thúc hoặc tự giải phóng bằng phát biểu delete/free. C# làm một cách tự động

Hàm khởi tạo: Tương tự như C++, nếu bạn không viết hàm khởi tạo nào trong 1 lớp của C# thì 1 hàm khởi tạo mặc định tự động tạo ra (trong assembly) cho bạn. Hàm khởi tạo mặc định khởi tạo những giá trị mặc định cho các biến thành viên

Giá trị mặc định cho tham số hàm/phương thức: C# không có, bạn phải dùng cách nạp chồng phương thức để thực hiện

Kiểu generic: Khai báo như là một tham số của class hay method, tương tự như template trong C++

Từ khóa "as": toán tử chuyển đổi kiểu, sẽ ném một exception nếu việc chuyển đổi không thực hiện được. Giống với static_cast trong C++, nhưng khác với dynamic_cast vì dynamic_cast không thực hiện kiểm tra sự tương thích kiểu nên không ném exception nào nếu như thực sự có lỗi


ad21dk20

Tổng số bài gửi : 9
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by sonmieu1 on Fri Mar 31, 2017 2:51 pm

Hoa sen hồng là biểu tượng cho “quốc hoa” Việt-Nam

LTG – Từ lâu, địa danh Đồng-Tháp-Mười là một miền đất trũng bùn sình ngập nước quanh năm không còn xa lạ gì với hầu hết đồng bào trong cả nước. Tuy nhiên, bên cạnh tình yêu hình ảnh khác thường ngoạn mục đó thì hãy còn có rất nhiều người chưa từng có dịp thỏa mãn đến được tận nơi để tham quan, tìm hiểu về một vùng địa lý có mang nhiều huyền thoại cá biệt ở miệt bưng biền. Và từng được dân gian truyền tụng cho đó là quê hương của muỗi, của đỉa, mà cũng chính lại là quê hương hoa Sen ở đất phương Nam.

An-Tiêm MAI-LÝ-CANG
(Paris)
Tháp-Mười duyên thắng tuyệt vời
Đầm lầy muỗi đỉa, lưng trời hạc bay
Hoa Sen nào của riêng ai!
Quê hương chỉ một, không hai Tháp-Mười*Từ lâu, đất phương Nam từng được coi như là trung tâm của bồ lúa gạo của nước nhà, và cây trái quanh năm bốn mùa tiếp tục nở hoa tươi tốt, đó là do nhờ có những cánh đồng nông nghiệp mênh mông, vườn tược ngút ngàn, thủy lộ sông rạch giao thông thuận tiện. Tuy nhiên, về cảnh sắc ở từng địa phương thì lại cũng đã có những nét đan thanh chấm phá ngoại lệ đa dạng khác nhau. Và một trong những vùng địa lý có mang tính khác lạ hơn nơi nào hết, thì đó chính là vùng văn hóa đặc trưng miệt đầm lầy Đồng-Tháp-Mười ở lãnh thổ biên giới miền Tây Nam-bộ.Nói cách khác, ngày nay cái tên Đồng-Tháp-Mười là một địa danh không còn xa lạ gì đối với hầu hết nhân dân trong nước, mặc dù có người cả đời chưa bao giờ có dịp lãng du đến tận nơi nầy. Dẫu sao, qua các phương tiện truyền thông hiện đại thì người ta cũng từng đã biết rất nhiều về lịch sử của địa phương ở nơi đây nổi tiếng nhất là có nhiều hoa Sen, một loài hoa bình dị tầm thường nhưng lại có mang nhiều ý nghĩa thanh khiết nhất trong các muôn loài hoa dân dã.Vùng đồng lầy Đồng-Tháp-Mười là một khu lòng chảo ngập nước quanh năm có địa hình trũng sâu, về địa thế thì nằm ở đầu nguồn của sông Tiền chảy ngang qua từ nơi biên giới, và được trải rộng ra trên 3 tỉnh Long-An, Tiền-Giang và Đồng-Tháp. Còn cái tên Đồng-Tháp-Mười, thì người ta được biết tới từ hồi đầu thế kỷ 19 trong quá trình khẩn hoang và lưu trú của cư dân ở vào thời kỳ đó. Ngày trước, dưới thời Nam tiến của người Việt thì Đồng-Tháp-Mười được coi như là một vùng đầm lầy hoang dại, giang sơn của muôn loài thú dữ tung hoành trên rừng, dưới nước, và gây rất nhiều trở ngại khó khăn nhất cho công cuộc phát triển dinh điền, khẩn hoang lập ấp của các triều nhà Nguyễn vào lúc bấy giờ. Ở đây, bùn sình lầy bước chân không đi được, muỗi kêu như sáo thổi, đỉa lội lềnh bềnh như bánh canh, dưới sông sấu lội, trên rừng cọp đua. Trăn, rắn rết bò dọc, bò ngang lổn ngổn, chuột đồng to béo nhởn nhơ, từng bầy khỉ vượn nhảy nhót hú vang chuyền cành. Tôm, rùa, cá…bơi lội thư thả dưới đồng lầy, lau lách tha hồ đua nhau vươn mọc um tùm trên gò sâu, gò cạn. Chim chóc tập họp thành từng đàn, cất cánh chao liệng trên toàn cả một cánh đồng thiên nhiên, bao la chứa đầy ngập nước. Cùng chen lẩn sống chung trong môi trường động thực vật đó, còn có sự sinh tồn của nhiều loài phiêu lưu thảo và các loài hoa hoang dã hằng ngày khoe sắc, đổi màu theo thời gian từ hằng thế kỷ đã trôi qua.Tuy nhiên, ngày nay trước ý chí quyết tâm khắc phục và tinh thần khai phá của con người trong cuộc hành trình đi tìm mảnh đất cắm dùi, để mong đổi thay cuộc sống cho bằng được, thì hầu hết cuộc diện cảnh trí ở nơi đây, giờ nầy đã bị hoàn

sonmieu1

Tổng số bài gửi : 5
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by PyPen on Fri Mar 31, 2017 2:52 pm

hay qua a oi

PyPen

Tổng số bài gửi : 17
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by PyPen on Fri Mar 31, 2017 2:53 pm

So sánh Java và C++
Một phương pháp tốt để học một ngôn ngữ lập trình mới là so sánh nó với những ngôn ngữ lập trình đã học để rút ra những ưu - nhược điểm của từng ngôn ngữ. Như vậy, người học lập trình không những có bài học trên ngôn ngữ mới mà còn có những kinh nghiệm mới khi xem xét lại những vấn đề của các ngôn ngữ mà mình đã học.
Để học Java một cách hiệu quả, nên đọc trước C++ để hiểu thế nào là lập trình hướng đối tượng trước. Rồi sau đó dùng kiến thức đó làm cơ sở để nâng cao hiểu biết và kỹ năng lập trình bằng ngôn ngữ Java, một công cụ không thể thiếu được trong việc phát triển các ứng dụng trên mạng. Điều này cũng dễ hiểu bởi Java được xây dựng trên nền tảng C/C++.
Giới thiệu về Java: Java là ngôn ngữ lập trình do hãng Sun Microsystem giới thiệu vào năm 1995 – SUN là chữ viết tắt của Stanford University Network, nghĩa là Hệ thống mạng máy tính Đại học Stanford. Java là một ngôn ngữ lập trình cấp cơ sở nhưng nó được thiết kế sao cho có thể dùng như một hệ điều hành máy tính đa năng – hay nói cách khác nó rất có triển vọng trở thành một lựa chọn khác thay cho Windows. Chính vì Java có thể chạy trên nhiều hệ thống máy tính khác nhau mà người ta dự định rằng nó sẽ giúp khắc phục những lỗi tương thích vớ vẩn xảy ra trong ngành công nghiệp phần mềm. Thật vậy, khi mang Java ra chào hàng, hãng Sun đã giới thiệu như sau: “Chỉ viết một lần, chạy được khắp nơi”. Thêm vào đó Java còn giúp người lập trình không phải lo lắng nhiều về vấn đề bảo mật cho máy tính của mình. Vì Java có thể chạy gần như trên mọi hệ thống nên không nhất thiết cần đến khái niệm liên kết mở rộng, vốn là điểm yếu của toàn mạng.
Hãng Sun đang nỗ lực để Java được công nhận là một tiêu chuẩn quốc tế, một động thái được các nhà phân tích cho rằng sẽ là một đe doạ đối với sự thống trị của hệ điều hành Windows trong một vài lĩnh vực quan trọng, bao gồm cả việc lấy thông tin trên Internet. Hơn thế nữa, một trình ứng dụng như Word của Microsort chẳng hạn có thể chạy trên Java thay vì Windows. Vì thế khi viết trình duyệt Internet Exporer 4.0 kèm trong Windows. Microsoft đã thay đổi ngôn ngữ Java để làm giảm tính đa năng của nó bằng cách bỏ đi hai chuẩn mực quan trọng nhất mà Sun đã viết. Điều đó giải thích tại sao các ứng dụng Applet của Java khi nhúng vào trang Web có thể chạy ngay trong các trình duyệt như Internet Exporer hay Netscape.
Java là ngôn ngữ vừa thông dịch vừa biên dịch. Đầu tiên Java sử dụng công cụ Javac để biên dịch mã nguồn chương trình để chuyển thành mã Byte độc lập với phần cứng. Sau đó, từ mã Byte thu được nó dùng trình thông dịch là máy ảo Java để thực hiện trên từng loại máy cụ thể. Nguyên nhân Java xây dựng hai trình thông dịch và biên dịch riêng rẽ là bởi việc thiết kế lại một trình biên dịch để chạy trên một máy tốn kém hơn rất nhiều so với việc thiết kế một trình thông dịch để chạy trên máy tính đó.
Mục tiêu của Java là cho phép người lập trình viết chương trình một lần nhưng có thể chạy trên bất cứ phần cứng cụ thể nào. Chính nguyên nhân này giúp Java trở thành một ngôn ngữ được sử dụng rộng rãi để viết chương trình chạy trên Internet. Nó là ngôn ngữ lập trình hướng đối tượng độc lập thiết bị, không phụ thuộc vào hệ điều hành. Nó không chỉ dùng để viết cho các ứng dụng chạy đơn lẻ hay trong mạng mà còn để xây dựng các trình điều khiển thiết bị cho điện thoại di động, PDA, ...
Có rất nhiều chương trình hỗ trợ viết mã nguồn Java nhưng điển hình là Eclipse. Eclipse là phần mềm thông minh, nó đưa ra những cảnh báo và lỗi giúp cho người lập trình có thể nhận biết được các lỗi trong quá trình sử dụng và đồng thời nêu ra những cách khắc phục những lỗi đó.
Cảnh báo nhắc nhở cho người lập trình sẽ xuất hiện gạch chân lượn sóng màu vàng.
Điển hình là những cảnh báo nhắc nhở cho người lập trình là:
Phương thức khai báo một biến trong thân của nó nhưng lại không sử dụng (không tác động vào biến) gây lãng phí bộ nhớ, thậm chí kể cả ta khởi tạo giá trị ban đầu cho biến được khai báo trong thân phương thức đó nhưng không tác động vào biến thì cũng xuất hiện cảnh báo từ phía chương trình.
Hoặc cảnh báo khi sử dụng thuộc tính tĩnh hay phương thức tĩnh như là một thành phần riêng của một đối tượng cụ thể. Cách khắc phục: sử dụng chúng như một thành phần chung của lớp.
Giả sử có một lớp với tên là HoaDon, trong lớp có thuộc tính tĩnh là TongSoHoaDon và một đối tượng của lớp HoaDon là d. Khi đó khởi tạo d.TongSoHoaDon = 0 chẳng hạn chương trình sẽ cảnh báo. Khắc phục cảnh báo này bằng cách sử dụng chúng như một thành phần chung của lớp. Tức là gán: TongSoHoaDon = 0 nếu câu lệnh này nằm trong phương thức nào đó thuộc lớp HoaDon hoặc HoaDon.TongSoHoaDon = 0.
Hoặc thuộc tính và phương thức của lớp được khai báo là private nhưng không có phương thức nào của lớp này tác động vào thuộc tính và phương thức đó làm cho người lập trình sau không thể gián tiếp xem giá trị của thuộc tính và phương thức này.
Điều đó chứng tỏ Eclipse rất coi trọng mặt ngữ nghĩa.
Tất nhiên, dù sao cũng chỉ là những cảnh báo, chương trình vẫn hoạt động bình thường, tuy nhiên nên khắc phục những cảnh báo này.
Nếu lỗi xảy ra thì sẽ xuất hiện gạch chân lượn sóng màu đỏ, điển hình là những lỗi sau:
Phương thức không khởi tạo giá trị ban đầu cho biến được khai báo trong thân phương thức đó, thông báo lỗi sẽ xuất hiện ở vị trí biến đó bị tác động.
Phương thức cần trả lại giá trị nhưng lại không trả lại giá trị. Ví dụ sai sau đây minh hoạ điều đó:
public boolean KiemTra(int n)
{
System.out.println(n);
// return true;
}
Hoặc ví dụ sau đây cũng sai:
public boolean KiemTra(int n)
{
if (n == 0) return true;
// else return false;
}
Lỗi khi gán lớp con bằng lớp cơ sở. Khi ta ép kiểu thì lỗi đó có thể vượt mặt được Eclipse nhưng sẽ có thông báo lỗi trong quá trình dịch.
Khả năng cảnh báo và phát hiện lỗi nghiêm ngặt giúp Eclipse tránh được những dữ liệu, cách thức sử dụng có khả năng phát sinh lỗi, tăng khả năng gỡ rối chương trình. Tuy nhiên, chính khả năng này làm người mới học cảm thấy khá khó khăn khi tiếp cận với Java.
Còn đối với thuộc tính của lớp có thể “không cần sử dụng” bởi thực chất nó không phải là biến mà là thành phần cấu tạo nên lớp, chính vì vậy không thể coi việc chưa sử dụng một thuộc tính trong lớp là lãng phí được, bởi nó có thể được sử dụng ở lớp khác. Đồng thời có thể có hoặc không phần khởi tạo giá trị ban đầu cho các thuộc tính này. Nếu không có phần khởi tạo, chương trình sẽ tự động gán giá trị mặc định là 0 hoặc null cho các thuộc tính này.
Ta nói lại ý nghĩa của các bổ từ dành cho thuộc tính và phương thức như sau:
Ø public: Các lớp khác có thể dùng thoải mái. (Tất nhiên nếu khác gói thì phải import).
Ø protected: Chỉ có các lớp cùng gói hoặc lớp thừa kế (Nếu là lớp thừa kế thì có thể khác gói) mới dùng được. Chế độ bảo vệ protected còn thể hiện ở chỗ: nó chỉ cho phép lớp thừa kế sử dụng các thuộc tính hay phương thức protected của lớp cơ sở như là thành phần của chính mình. Việc khai báo một đối tượng thuộc lớp cơ sở trong thân phương thức nào đó của lớp thừa kế rồi truy cập tới các thuộc tính hay phương thức protected của đối tượng này là vi phạm.
Ø private: Chỉ có lớp định nghĩa nó mới được phép sử dụng.
Ø default (Mặc định): Nếu không khai báo gì thêm thì dùng bổ từ mặc định nằm giữa private và protected. Nó khác với private là các lớp cùng gói thì có thể dùng được. Nó khác với protected là ngay cả lớp con thừa kế nhưng khác gói cũng không thể gọi tới nó.
Ø static: Các trạng thái mà phương thức có thể được thay đổi mà không cần đến đối tượng. Nó chỉ được sử dụng đối với các dữ liệu và các phương thức tĩnh.
Ø abstract (Trừu tượng): Ngụ ý rằng phương thức không có một mã cụ thể (code) và nó sẽ được bổ sung ở các lớp con. Loại phương thức này được sử dụng trong các lớp kế thừa. Chỉ trong những lớp trừu tượng mới có phương thức trừu tượng thôi.
Ø final (Kết thúc): Phương thức không thể được nạp chồng khi cài đặt hoặc ghi đè khi thừa kế. Chính vì vậy nó là cách thức để xây dựng hằng.
Ø native (Tự nhiên): Chỉ ra rằng phần thân của phương thức được viết trên các ngôn ngữ khác Java ví dụ C, hoặc C++.
Ø syschronized (Đồng bộ): Sử dụng với phương thức trong quá trình thực thi luồng. Nó cho phép chỉ một luồng được truy cập vào khối mã vào một thời điểm.
Ø volatile (Linh hoạt): Được sử dụng với các biến để thông báo rằng giá trị của biến có thể được thay đổi vài lần khi thực thi chương trình và giá trị của nó không được ghi vào thanh ghi.
Chú ý: Các lớp cùng gói mà lớp này muốn dùng lớp khác thì không cần phải import.
Các bổ từ dành cho lớp gồm:
Ø public: Các lớp khác có thể thoải mái sử dụng và thừa kế.
Ø default (Mặc định): Nếu không khai báo public thì mặc định các lớp cùng gói mới được sử dụng và thừa kế lớp này.
Ø abstract (Lớp cơ sở trừu trượng): Không có một đối tượng nào được tạo ra từ lớp này.
Ø final: Lớp không cho phép tạo dẫn xuất, còn gọi là lớp hằng.
Như trên đã nói, nếu các thuộc tính và phương thức được khai báo là private thì cần có phương thức nào đó của lớp này để người lập trình sau có thể gián tiếp xem giá trị của thuộc tính và phương thức đó. Còn nếu các thuộc tính và phương thức được khai báo mặc định hoặc protected hoặc public thì không cần như vậy vì nó cho phép phương thức của lớp khác tác động vào các thuộc tính và phương thức này trong những trường hợp cụ thể.

PyPen

Tổng số bài gửi : 17
Join date : 31/03/2017

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: So sánh C++ và Java

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết