Bai 1-Mot So Khai Niem Co Ban

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 13

Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

BÀI 1: MỘT SỐ KHÁI NIỆM CƠ BẢN

Mục tiêu:
Trong bài này, Anh/Chị cần đạt được những mục tiêu sau:
1. Đối tượng và các thành phần liên quan.
2. Các đặc trưng: đóng gói, che giấu, kế thừa, đa hình.
3. Giới thiệu các ngôn ngữ lập trình hướng đối tượng.
Nội dung:

1. Phương pháp lập trình hướng đối tượng


Sự ra đời và phát triển của máy tính điện tử kéo theo sự phát triển của các
phương pháp lập trình cho máy tính điện tử. Bắt đầu từ phương pháp sơ khai, đơn
giản nhất là lập trình tuần tự, tiếp đến là lập trình có cấu trúc và hiện nay, được sử
dụng rộng rãi trong các môi trường hiện đại là phương pháp lập trình hướng đối
tượng (Object-Oriented Programming, viết tắt là OOP).
Phương pháp lập trình có cấu trúc dựa trên cách thức giải quyết bài toán theo
hướng chức năng. Theo đó, để giải quyết một bài toán lớn chúng ta phân rã (theo
chức năng) thành nhiều bài toán nhỏ, cứ tiếp tục như vậy để đạt được những bài
toán đơn giản và có thể triển khai lập trình dễ dàng. Quá trình này gọi là phân tích
từ trên xuống “top-down”. Phương pháp này dựa trên ngôn ngữ mô tả bài toán, chủ
yếu chúng ta phải tìm ra các “động từ” để đưa ra các chức năng cần giải quyết trong
quá trình phân tích. Mỗi bài toán con thu được trong phương pháp này sẽ được lập
trình để thực hiện dưới dạng một chương trình con, như vậy để giải quyết bài toán
lớn chúng ta sẽ có nhiều mô-đun chương trình con trong một hệ thống chương trình.
Hiện nay, trong hầu hết các môi trường lập trình đều cung cấp phương pháp lập
trình hướng đối tượng. Các nguyên lý và việc áp dụng phương pháp này được khởi
nguồn từ những năm 1960, sau đó vào những năm 1980, các ngôn ngữ lập trình
hướng đối tượng được phát triển như Smalltalk, Eiffel, C++ và đặc biệt vào những
năm 1990, ngôn ngữ Java được phát triển rất mạnh bởi hãng Sun Microsystems, cho
đến nay được sử dụng rộng rãi.
Phương pháp lập trình hướng đối tượng dựa trên cách thức giải quyết bài toán
theo hướng các đối tượng. Theo đó, chúng ta sẽ xem xét về sự tồn tại của các đối
tượng trong bài toán, mối quan hệ tương tác giữa chúng để thực hiện mục tiêu đặt ra

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 1


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

cho bài toán, từ đó áp dụng phương pháp phân tích và thiết kế từ dưới lên (“bottom-
up”). Trong tài liệu này không đi sâu trình bày về phương pháp phân tích và thiết
hướng đối tượng, chúng ta sẽ làm quen với phương pháp thông qua ví dụ minh họa
so sánh giữa phương pháp dựa trên chức năng và phương pháp dựa trên đối tượng
như sau.
Để minh họa, chúng ta xem xét bài toán quản lý sinh viên chẳng hạn.

Hình vẽ 1.1: Minh họa bài toán quản lý sinh viên


Rõ ràng, theo hướng chức năng chúng ta đơn giản có thể liệt kê các công việc
thực hiện gồm: cập nhật hồ sơ sinh viên; lên kế hoạch đào tạo; tổ chức thi và lên
điểm;.... Ở đây chúng ta đã phân rã bài toán cần làm thành các công việc (hay chức
năng) nhỏ, như vậy về phía lập trình cơ bản xây dựng các mô-đun chương trình con
để giải quyết từng công việc này. Đối với phương pháp giải quyết dựa trên đối
tượng, chúng ta xem xét bài toán này cần có các đối tượng sinh viên, các đối tượng
giáo viên, các đối tượng người quản lý, các đối tượng môn học,.... Trong đó, mỗi
loại có thể có nhiều đối tượng khác nhau như sinh viên có thể lên đến hàng nghìn
đối tượng. Số lượng cho mỗi loại đối tượng là khác nhau và phụ thuộc vào từng bài
toán cụ thể. Sau đó sẽ xem xét mối quan hệ tương tác giữa các đối tượng này để
thực hiện các mục tiêu của bài toán đặt ra.
Phương pháp lập trình hướng đối tượng phát sinh nhiều khái niệm mới, yêu cầu
người lập trình cần nắm vững và chúng sẽ được trình bày ở phần tiếp sau.

2. Các khái niệm, đặc trưng của lập trình hướng đối tượng
2.1. Các khái niệm cơ bản trong lập trình hướng đối tượng

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 2


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

- Đối tượng (objects): là các thể hiện trên bộ nhớ của một gói gồm các biến và
hàm trong chương trình phần mềm. Trong thực tế khái niệm này rất rộng, nó ám chỉ
đến mọi sự vật, hiện tượng của thế giới thực. Tuy nhiên, khái niệm đối tượng trong
lập trình (hay còn gọi là đối tượng phần mềm – software objects) sẽ hạn hẹp hơn
nhiều, chủ yếu đề cập đến khía cạnh thông tin của các đối tượng. Do đó, chúng ta sẽ
có các đối tượng trong không gian thực của bài toán, tương ứng là các đối tượng
trong không gian của chương trình.
Ví dụ về các đối tượng như các sinh viên, giáo viên, môn học, lớp học, hay đối
tượng là những chiếc xe máy, xe ô-tô, thậm chí là các bánh xe, cánh quạt,...
Chúng ta có thể phân loại gồm đối tượng vô hình và hữu hình. Trong ví dụ trên
thì môn học, lớp học là các đối tượng vô hình, còn sinh viên, giáo viên,… là các đối
tượng hữu hình.
- Thuộc tính (properties): là các thành phần (dưới dạng các biến - variables)
trong đối tượng để mô tả thông tin dữ liệu hay trạng thái (states) của đối tượng
(Hình vẽ 1.2). Ví dụ các đối tượng sinh viên có thuộc tính là họ và tên, ngày-tháng-
năm sinh, quê quán,... hay các đối tượng môn học có tên môn học, số tín chỉ, điều
kiện tiên quyết,...
- Phương thức (methods): là các thành phần (dưới dạng các hàm) trong đối
tượng để mô tả hành vi (behavior) hay khả năng xử lý của đối tượng (Hình vẽ 1.2).
Các phương thức khi thực hiện sẽ xử lý trên các thuộc tính và có thể sẽ làm biến đối
trạng thái của đối tượng, tức làm thay đổi giá trị trong các thuộc tính. Ví dụ các đối
tượng xe ô-tô có phương thức khởi động máy, tăng/giảm ga, chuyển số,... hay các
đối tượng sinh viên có phương thức nhận bài kiểm tra, làm bài kiểm tra, tham dự
buổi học...

Hình vẽ 1.2: Đối tượng và các thành phần của đối tượng.
- Thông điệp (messages): Chúng ta thấy rằng, các đối tượng phần mềm sẽ quan
hệ và tương tác với nhau nhằm để thực hiện mục tiêu của bài toán đặt ra. Khi một
đối tượng A muốn một đối tượng B thực hiện một phương thức trên B, thì đối tượng
A phải gửi một thông điệp tương ứng đến đối tượng B. Thực chất ở đây là việc đối

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 3


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

tượng A gọi thực hiện một phương thức trên đối tượng B. Hình vẽ 1.3 sau minh họa
cho thông điệp F(x) được gọi bởi đối tượng A đến đối tượng B.

Hình vẽ 1.3: Thông điệp từ đối tượng A đến đối tượng B


Một thông điệp sẽ gồm 3 thành phần như sau:
+ Đối tượng (object): xác định thông điệp sẽ chuyển đến, hay địa chỉ nơi đối
tượng được thể hiện trên bộ nhớ mà phương thức sẽ được thực hiện. Hình vẽ 1.3
minh họa thông điệp với thành phần đối tượng là B.
+ Tên phương thức (method) cần gọi: trong Hình vẽ 1.3 có tên phương thức là
“F”.
+ Các tham số truyền cho phương thức (parameters): trong Hình vẽ 1.3 có tham
số là “x” được truyền cho lời gọi phương thức “F” trên đối tượng B.
- Lớp đối tượng (classes, hay gọi tắt là lớp): Trong chương trình hướng đối
tượng, có thể xuất hiện nhiều đối tượng có cùng kiểu (hay cùng đặc trưng) như các
hình chữ nhật, các công nhân,... Do đó, một lớp đối tượng được xem như là một
bản thiết kế chi tiết để định nghĩa các thành phần (thuộc tính và phương thức) cho
tất cả các đối tượng cùng một kiểu.
Lớp là một khái niệm trừu tượng, nó đóng vai trò như bản mẫu cho việc tạo lập
hay xây dựng (tức các thể hiện - instance) các đối tượng trong chương trình. Hình
vẽ 1.4 sau minh họa cho lớp “Dog” và một đối tượng “Rayne” của “Dog”. Lớp
“Dog” có các thuộc tính gồm Color (màu), Eye Color (màu mắt), Height (chiều
cao), Length (chiều dài), Weight (cân nặng) và đối tượng “Rayne” có các giá trị
thuộc tính tương ứng màu xám, mắt xanh, cao 18 inc, dài 36 inc và nặng 30 pound.
Các phương thức của “Dog” gồm Sit (ngồi), Lay Down (nằm xuống), Shake (lắc
mình), Come (đi).

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 4


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

Hình vẽ 1.4: Lớp “Dog” và đối tượng “Rayne”


Hình vẽ 1.5 sau minh họa cho lớp “Student” và các đối tượng sinh viên tương
ứng.

Hình vẽ 1.5: Lớp “Student” và các đối tượng


2.2. Các đặc trưng của lập trình hướng đối tượng
Cho đến nay, các nhà phát triển ứng dụng cũng như các tác giả nghiên cứu về
phương pháp lập trình hướng đối tượng đều đề cập đến 4 đặc trưng cơ bản của
phương pháp lập trình hướng đối tượng. Các vấn đề chi tiết cũng như phương pháp
lập trình khai thác các đặc trưng này sẽ được đề cập ở những chương sau, trong
phần này chúng ta điểm qua khái niệm về chúng.
- Tính đóng gói (encapsulation): như khái niệm đối tượng đã được đề cập, mỗi
đối tượng bao gồm các thành phần thuộc tính để mô tả thông và và các phương thức
thể hiện hành vi xử lý thông tin. Như vậy, chúng ta đã đóng gói các thành phần này
lại với nhau nhằm phản ánh toàn bộ nội dung của đối tượng (minh họa Hình vẽ 1.6).
Xem xét từ góc độ lập trình chúng ta thấy trong chương trình gồm các biến
chứa dữ liệu, các đơn vị xử lý (hàm) thao tác trên các biến nhằm xử lý và tính toán

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 5


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

để thực hiện yêu cầu đặt ra của bài toán. Vì thế, các kết quả đóng gói từ các biến và
các hàm để hình thành các lớp đối tượng sẽ đem lại hiệu quả thực hiện chương trình
tốt hơn. Mục tiêu đặt ra là đóng gói sao cho phản ánh được nội dung thông tin và
hành vi xử lý thông tin của các lớp đối tượng mà chương trình cần có.

Hình vẽ 1.6: Minh họa sự đóng gói các thành phần


Tính đóng gói còn làm đơn giản hóa quá trình tương tác xử lý giữa các đối
tượng, bởi vì nó che đi sự phức tạp cố hữu nội tại bên trong một đối tượng. Các đối
tượng khác tương tác xử lý thông qua những giao tiếp bên ngoài mà không cần phải
quan tâm đến sự phức tạp bên trong của đối tượng đó. Chẳng hạn, một máy tính cá
nhân bản thân bên trong nó chứa những các bộ phận chi tiết, vi mạch phức tạp
nhưng chúng ta sử dụng chỉ cần vài thao tác bấm nút là có thể tương tác với nó.

Hình vẽ 1.6: Đóng gói nhằm che đi những chi tiết phức tạp bên trong
- Tính che giấu thông tin (data-hiding): các thành phần sau khi được đóng gói
chúng ta có thể thiết lập cơ chế về khả năng truy xuất xử lý đến các thành phần đó
hay được gọi là phạm vi tác động (scope). Rõ ràng, tính chất này có được là nhờ sự
đóng gói (Hình vẽ 1.8).

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 6


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

Hình vẽ 1.8: Minh họa cơ chế che dấu thông tin


- Tính kế thừa (inheritance): là khái niệm quan trọng trong lập trình hướng đối
tượng. Thực tế, các đối tượng không hoàn toàn tách rời nhau mà chúng có những
quan hệ nhất định. Chẳng hạn, con mèo và con chó có chung một số đặc điểm và
chúng đều được gọi vật nuôi, hay sinh viên và giáo viên có những đặc điểm chung
vì đều là con người... Như vậy, nếu các lớp đối tượng có chung một số đặc điểm và
được xem như có quan hệ “là” (is a) với lớp đối tượng khác thì chúng ta nói có sự
kế thừa giữa chúng.

Hình vẽ 1.9: Minh họa sự kế thừa giữa các lớp đối tượng
Trong Hình vẽ 1.9, đối tượng “oHuman” và “oPet” đều kế thừa các đặc điểm từ
“oAnimal” tức chúng đều có não bộ (brain = true) và đều có chân, nhưng số chân
giữa “oHuman” và “oPet” khác nhau, tương tự giữa “oDog” và “oCat” với “oPet”.
- Tính đa hình (polymorphism): là một khái niệm khá phức tạp trong lập trình
hướng đối tượng, nó cho phép nhiều đối tượng xử lý, phản hồi cho cùng một thông
điệp. Một khía cạnh khác, đa hình tức là cùng một đối nhưng được khai thác, xử lý
dưới nhiều hình thức khác nhau. Tính đa hình được gắn liền với ngữ cảnh trong
chương trình, mỗi ngữ cảnh sẽ cho ra một hình thức khai thác, xử lý cụ thể phù hợp.
Chẳng hạn, Hình vẽ 1.9 cho thấy một con mèo có thể xem như là một vật nuôi, hoặc
một động vật, phụ thuộc vào ngữ cảnh khai thác.

Bốn tính chất của phương pháp lập trình hướng đối tượng là những tính chất
rất đặc trưng, các vấn đề về kỹ thuật và phương pháp sử dụng, khai thác những
tính chất này sẽ được trình bày kỹ ở những chương tiếp theo. Phần sau chúng
ta xem xét về ngôn ngữ lập trình hướng đối tượng.

3. Ngôn ngữ lập trình hướng đối tượng


3.1. Sự phát triển của các ngôn ngữ lập trình hướng đối tượng

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 7


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

Về cơ bản, một ngôn ngữ lập trình được gọi là hướng đối tượng nếu nó cung
cấp đủ 4 đặc trưng đã xem xét ở trên: tính đóng gói, tính che dấu thông tin, tính kế
thừa và tính đa hình.
Ngôn ngữ lập trình hướng đối tượng được phát triển cùng với sự hình thành và
phát triển của phương pháp lập trình hướng đối tượng (Hình vẽ 1.10). Phương pháp
này được khởi xướng vào những năm 1960 tại Na-uy, sau đó được các nhà nghiên
cứu, ứng dụng phát triển rất mạnh mẽ. Có thể xem ngôn ngữ Simula của Christian
Nygaard và cộng sự tại đại học Oslo là ngôn ngữ đầu tiên hỗ trợ hướng đối tượng.
Sau đó những năm 1970 và 1980 tiếp theo là sự phát triển các ngôn ngữ Smalltalk,
Eiffel và C++.
Ngôn ngữ Java được xây dựng và phát triển bởi James Gosling và cộng sự tại
hãng Sun Microsystems, nó trở nên phổ biến vào cuối những năm 1990. Khác với
C++ có sự kết hợp của cả lập trình cấu trúc và hướng đối tượng, Java là ngôn ngữ
thuần hướng đối tượng, tức mọi thành phần của chương trình đều phải được đóng
gói thành các lớp đối tượng, mọi hành động (actions) đều được thực hiện trên các
đối tượng và các lớp. Đặc điểm thứ hai của Java khác C++ đó là các đối tượng
không cần đến việc giải phóng bộ nhớ sau khi khai thác xử lý xong của người lập
trình do cơ chế tự động “thu gom rác” (garbage collection) được cung cấp sẵn bởi
Java, điều này giống với 2 ngôn ngữ Smalltalk và Eiffel.

Si Smal C J C
mula ltalk ++ ava #
1 1 1 1 2 2
960 970 980 990 000 010

Hình vẽ 1.10: Lịch sử phát triển các ngôn ngữ hướng đối tượng
Trong khuôn khổ tài liệu này, chúng ta tập trung khai thác sử dụng ngôn ngữ
Java để thể hiện cho các vấn đề của phương pháp lập trình hướng đối tượng. Các
phần tiếp sau sẽ trình bày cụ thể hơn về ngôn ngữ lập trình Java.
3.2. Ngôn ngữ lập trình Java
Java là ngôn ngữ lập trình được sử dụng khá phổ biến hiện nay, nó không chỉ
được dùng để phát các ứng dụng cho máy tính mà còn sử dụng để phát triển các ứng
dụng cho các thiết bị di động như điện thoại di động, điện thoại thông minh,... đặc
biệt là lập trình trên hệ điều hành Android.
Một số đặc điểm của ngôn ngữ Java:

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 8


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

- Cấu trúc cú pháp lệnh của ngôn ngữ hầu hết kế thừa từ C/C++ nên dễ tiếp cận
nếu đã biết ngôn ngữ C/C++, mềm dẻo và linh hoạt trong sử dụng nhưng cũng rất
chặt chẽ về cú pháp.
- Là ngôn ngữ lập trình thuần hướng đối tượng như đã đề cập ở trên.
- Java áp dụng cơ chế bộ nhớ động cho mọi đối tượng trong chương trình. Do
đó, một khai báo biến bất kỳ có kiểu lớp đều dưới dạng tham chiếu (con trỏ), tức là
một biến chứa địa chỉ của đối tượng.
Về phía hệ thống, các đối tượng khi tạo sẽ được cấp phát bộ nhớ trên vùng heap
(trên RAM), do đó mỗi đối tượng có một địa chỉ tương ứng. Để truy cập xử lý các
đối tượng này chúng ta phải khai báo các biến tham chiếu để lưu giữ địa chỉ của đối
tượng (Hình vẽ 1.11).

Hình vẽ 1.11: Minh họa tham chiếu và 02 đối tượng


- Độc lập với môi trường thực hiện. Đây là đặc điểm nổi bật của Java, tức một
chương trình bằng ngôn ngữ Java sau khi được biên dịch có thể chạy được trên các
hệ nền khác nhau (hệ nền được hiểu bao gồm hệ điều hành và hệ thống phần cứng).
Hình vẽ 1.12 minh họa điều này, chương trình sau khi viết và biên dịch có thể chạy
trên hệ điều hành Windows, Unix, hoặc MacOS.

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 9


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

Hình vẽ 1.12: Sự độc lập với hệ nền của chương trình Java
Với đặc điểm này, giới lập trình Java thường sử dụng khẩu hiệu thể hiện là
“write one, run anywhere” để ám chỉ rằng chương trình Java được viết một lần và
chạy ở khắp mọi nơi.
Sự độc lập này được thực hiện nhờ cơ chế máy ảo (Java Virtual Machine -
JVM) để thực hiện chương trình. JVM là một hệ thống phần mềm được xây dựng
và đóng gói sẵn, sau đó cài đặt trên các thiết bị, máy tính với chức năng dùng để
thông dịch các câu lệnh của chương trình Java khi thực hiện. Quá trình lập trình,
biên dịch và chạy chương trình Java được thể hiện qua sơ đồ sau.

Hình vẽ 1.13: Quá trình biên dịch và chạy chương trình Java
Trong đó, chương trình Java được lập trình và lưu bằng tệp tin mã nguồn phần
mở rộng *.java (gọi là Java Source). Sau khi biên dịch (compiler) sẽ tạo thành

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 10


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

chương trình mã byte (Java Bytecodes) và lưu trữ thành tệp tin có phần mở rộng
*.class, phân phối đến các máy ứng dụng. Việc chạy chương trình Java trên một hệ
nền nào đó sẽ nhờ máy ảo (Java Virtual Machine) thông dịch các lệnh mã byte về
mã máy để thực thi.
3.3. Lập trình bằng ngôn ngữ Java
Để lập trình bằng Java, trước hết chúng ta phải cài đặt phần mềm phát triển ứng
dụng có tên là JDK (Java Development Kit) được cung cấp miễn phí tại địa chỉ
“http:// www.oracle.com/ technetwork/ java/ javase/ downloads/ index.html”. Sau
khi cài đặt thường có thư mục “Java” với hai thư mục con là “jdk<số hiệu phiên
bản>” chứa trình biên dịch và “jre<phiên bản>” chứa hệ thống thư viện và máy ảo
Java.
Java được cung cấp khá nhiều môi trường phần mềm để lập trình như JCreator,
Eclipse, NetBean... song để thuận tiện trong tài liệu chúng ta sẽ thực hiện trên môi
trường Eclipse, đây là phần mềm miễn phí và thuận tiện, chỉ cần copy vào máy để
chạy, không cần cài đặt hay cấu hình phức tạp (giao diện có dạng sau).

Hình vẽ 1.14: Giao diện làm việc với Eclipse


Tuy nhiên, chúng ta có thể không dùng môi trường mà biên soạn chương trình
trên một phần mềm nào đó, lưu lại tệp tin *.java và sử dụng lệnh trực tiếp của JDK
để biên dịch và chạy thử. Lệnh biên dịch và chạy thử chương trình Java sử dụng 2
tệp tin “javac.exe” và “java.exe” trong thư mục “BIN” của thư mục đã cài đặt JDK.
Cú pháp thực hiện lệnh biên dịch là:

javac tên_tệp_chương_trình.java
Lệnh để chạy thử chương trình là:

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 11


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

java tệp_chương_trình
Quy tắc chung của một tệp chương trình bằng Java gồm các phần sau:

/*Phần 1: Khai báo thư viện*/

import tên_thư_viện1;

import tên_thư_viện2;

...

/*Phần 2: Lớp chương trình chính*/

public class tên_lớp {

//các_nội_dung_của_lớp_chương_trình

public static void main(String[] ts){

//nội_dung_chương_trình_chính

/*Phần 3: Các lớp đối tượng khác*/


Trong đó, phần khai báo thư viện có thể không dùng vì một số thư viện được
mặc định sẵn. Tên lớp chứa chương trình chính (hàm “main”) phải trùng với tên tệp
chương trình vì nó là lớp “public”. Nhắc lại, các chú thích được viết trong bộ cặp ký
tự /* và */ nếu viết trên nhiều dòng, còn trên một dòng sử dụng ký hiệu //.

Ví dụ một chương trình Java đơn giản (có tên tệp là “vidu.java”):

Kết quả dịch và chạy thử chương trình trên Eclipse (cửa sổ màn hình “Console”
để chứa kết quả chạy và các thông báo khi chạy chương trình) là:

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 12


Trung tâm Đào tạo E-learning Cơ hội học tập cho mọi người

Một số quy tắc/quy ước cần ghi nhớ khi lập trình Java:
- Sử dụng toán tử “new” để sinh đối tượng từ lớp cho việc sử dụng, khai thác và
xử lý, cụ thể: biến = new tên_lớp( tham_số_nếu_có );
- Các từ khóa lệnh viết thường, ví dụ: import, for, if, while, case, return, break,
continue...;
- Các tên lớp đối tượng viết dạng chuẩn (chữ cái đầu từ viết HOA, sau đó chữ
thường, các từ ghép thành tên hoặc viết tắt cũng theo quy ước này), ví dụ: Scanner,
System, JButton, JOptionPane...;
- Các tên hằng được viết chữ hoa, ví dụ: EXIT_ON_CLOSE, PI,
CLOSE_OPTION, QUESTION_MESSAGE...;
- Các tên biến (thuộc tính) viết chữ thường;
- Các tên hàm (phương thức) viết từ đầu (động từ) bằng chữ thường, các từ sau
đó theo dạng chuẩn, ví dụ: print, showMessageDialog, setText...
- Các lệnh không đứng độc lập, bắt buộc một lệnh cần thực hiện phải trên một
đối tượng hoặc trên một lớp nào đó, và thậm chí có thể trên nhiều lớp và đối tượng
khi chúng bao nhau. Quy tắc chung được viết theo kiểu phân cấp (dùng dấu chấm)
như sau:

cấp_1.cấp_2...cấp_n.lệnh_cần_gọi( tham_số );
trong đó cấp_i là thể hiện của một gói (package) hay một lớp (class) hay một
đối tượng (object).
Ví dụ: Lệnh sau để tính căn bậc hai của 2012 gán vào biến y

double y = Math.sqrt(2012);
hoặc lệnh sau sẽ in một dòng chữ lên màn hình,

System.out.print(“Xin chao ban. Toi dang hoc JAVA.”);


- Các phép toán, kiểu dữ liệu chuẩn (đơn)... đều kế thừa từ C/C++ nên không
trình bày chi tiết ở đây, coi như người đọc đã biết C/C++.
Chúc các Anh/Chị học tập tốt!

Kỹ thuật lập trình hướng đối tượng - Bài 1 Trang 13

You might also like