THỰC TẬP CHUYÊN NGÀNH
GVHD: ThS.NGUYỄN QUANG NINH
bảo vệ bởi giao diện của các lớp. Sự đa hình cho phép bạn tạo ra những đoạn mã lệnh gọn
gàng, dễ đọc, dễ hiểu và có tính ổn định.Java là ngôn ngữ lập trình hướng đối tượng nên có
đầy đủ các tính năng trên, thư viện lớp Java được cung cấp khá đầy đủ cho người lập trình để
bắt đầu một dự án mở.
SVTH: Phạm Ngọc Hiếu – MSSV: 135D4802015001 – LỚP: 52K2
Page 11
THỰC TẬP CHUYÊN NGÀNH
GVHD: ThS.NGUYỄN QUANG NINH
3.ĐỐI TƯỢNG ,LỚP
Khi định nghĩa một lớp, bạn chỉ ra thuộc tính mà nó chứa được thể hiện bằng biến (Member
Variable) và hành vi được thể hiện bởi hàm (Method)
Các biến định nghĩa bên trong một lớp gọi là các biến thành viên (Member Variables). Mã
lệnh chứa trong các phương thức (Method). Các phương thức và biến định nghĩa trong lớp gọi
chung là thành phần của lớp. Trong hầu hết các lớp, các biến thể hiện được truy cập bởi các
phương thức định nghĩa trong lớp đó. Vì vậy, chính các phương thức quyết định dữ liệu của
lớp có thể dùng như thế nào. Lớp định nghĩa một kiểu dữ liệu mới, dùng để tạo các đối tượng
thuộc kiểu đó.
Dạng đầy đủ của một định nghĩa lớp như sau :
[public]
Lớp được truy xuất chung cho các Package
khác, mặc định chỉ có các đoạn mã trong cùng
một gói mới có quyền truy xuất nó
[abstract]
Lớp trừu tượng, không thể khởi tạo
[final]
Lớp hằng không có lớp con, không kế thừa
class ClassName
Tên lớp
[extends SuperClass]
Kế thừa lớp cha SuperClass
[implements Interfaces]
Giao diện được cài đặt bởi Class
{ //Member Variables Declarations
Khai báo các biến
// Methods Declarations
Khai báo các phương thức
}
3.1 Khai báo đối tượng
Để có được các đối tượng của một lớp phải qua hai giai đoạn :
ClassName ObjectName;Ví dụ : Box myBox
Khai báo biến myBox có kiểu lớp Box. Khai báo này thực ra không cấp phát ký ức đủ chứa
đối tượng thuộc lớp Box, mà chỉ tạo ra quy chiếu trỏ đến đối tượng Box. Sau câu lệnh này,
quy chiếu myBox xuất hiện trên ký ức chứa giá trị null chỉ ra rằng nó chưa trỏ đến một đối
SVTH: Phạm Ngọc Hiếu – MSSV: 135D4802015001 – LỚP: 52K2
Page 12
THỰC TẬP CHUYÊN NGÀNH
tượng thực tế nào
GVHD: ThS.NGUYỄN QUANG NINH
Khác với câu lệnh khai báo biến kiểu sơ cấp là dành chỗ trên ký ức đủ
chứa một trị thuộc kiểu đó :Ví dụ :
int i;
Sau câu lệnh này, biến nguyên i hình thành. Sau đó, để thực sự tạo ra một đối tượng và
gán địa chỉ của đối tượng cho biến này, dùng toán tử new
ObjectName = new ClassName();Ví dụ :
myBox = new Box();
Có thể kết hợp cả hai bước trên vào một câu lệnh :
ClassName ObjectName = new ClassName();Ví dụ :
Box myBox = new Box();
Box myBox2 = myBox; myBox2 tham chiếu đến cùng đối tượng mà myBox tham chiếu
myBox
width
height
Box Object
myBox2
3.2 Cách truy xuất thành phần của lớp
Biến khai báo trong định nghĩa lớp gồm có hai loại :
- Biến đối tượng (Instance Variable hay Object Variable) : chỉ thuộc tính đối tượng, khi
truy xuất phải khởi tạo đối tượng
+ Cách khai báo biến đối tượng :
Type InstanceVar;
+ Cách truy cập biến đối tượng :
ObjectName.InstanceVar
- Biến lớp (Class Variable) : về bản chất là biến toàn cục, là biến tĩnh được tạo lập một lần
cùng với lớp, dùng chung cho mọi đối tượng thuộc lớp, khi truy xuất không cần khởi tạo
đối tượng, để trao đổi thông tin của các đối tượng cùng lớp
+ Cách khai báo biến lớp :
static Type ClassVar;
+ Cách truy cập biến lớp :
SVTH: Phạm Ngọc Hiếu – MSSV: 135D4802015001 – LỚP: 52K2
Page 13
THỰC TẬP CHUYÊN NGÀNH
GVHD: ThS.NGUYỄN QUANG NINH
ClassName.ClassVar
Hàm khai báo trong định nghĩa lớp gồm có hai loại :
- Hàm đối tượng (Object Method) : cách truy xuất hàm đối tượng như biến đối tượng
ObjectName.ObjectMethod(Parameter-List)- Hàm lớp (Class Method) : thông thường
một thành phần của lớp chỉ truy xuất trong sự liên kết với một đối tượng thuộc lớp của nó.
Tuy nhiên, có thể tạo ra một thành phần mà có thể dùng một độc lập một mình, không cần
tham chiếu đến một đối tượng cụ thể, có thể được truy xuất trước khi bất kỳ đối tượng nào
của lớp đó được tạo ra, bằng cách đặt trước khai báo của nó từ khoá static. Cách truy xuất
hàm lớp :
ClassName.ClassMethod(Parameter-List)
Các hàm toán học của lớp Math trong Package Java.Lang là hàm lớp nên khi gọi không cần
phải khởi tạo đối tượng
Ví dụ : double a = Math.sqrt(453.28);
3.3 Khai báo phương thức (hàm)
Dạng tổng quát của một phương thức như sau :
[acess]
điều khiển truy xuất
[static]
hàm lớp
[abstract]
hàm trừu tượng
[final]
hàm hằng
[Type] MethodName(Parameter-List) throws exceptions {
// Body of method}
- Type : Kiểu dữ liệu do hàm trả về, có thể là kiểu bất kỳ, kể cả các kiểu lớp do bạn tạo ra.
Nếu hàm không trả về giá trị nào, kiểu trả về của nó phải là void.
- Các hàm có kiểu trả về không phải là void sẽ trả về một giá trị cho chương trình gọi nó dùng
dạng câu lệnh return như sau :
return biểu thức;
Giá trị của biểu thức được tính và trả về cho hàm
- Tất cả thông tin bạn muốn truyền được gởi thông qua tham số nằm trong hai dấu ( ) ngay sau
SVTH: Phạm Ngọc Hiếu – MSSV: 135D4802015001 – LỚP: 52K2
Page 14
THỰC TẬP CHUYÊN NGÀNH
GVHD: ThS.NGUYỄN QUANG NINH
tên hàm. Nếu không có tham số vẫn phải có ( )
Parameter-List : Danh sách tham đối phân cách bởi các dấu phẩy, mỗi tham đối phải được
khai báo kiểu, có thể là kiểu bất kỳ, có dạng : Type Parameter1, Type Parameter2 ...
3.4 Phạm vi truy xuất thành phần của lớp
Các điều khiển truy xuất của Java là public, private và protected. protected chỉ áp dụng khi có
liên quan đến kế thừa sẽ xét đến sau
Khi bổ sung tiền tố cho một thành phần của lớp (biến và hàm) là :- Từ khoá public : chỉ ra
rằng thành phần này có thể được truy xuất bởi bất kỳ dòng lệnh nào dù ở trong hay ngoài lớp
mà nó khai báo
- private : chỉ có thể được truy xuất trong lớp của nó, mọi đoạn mã nằm ngoài lớp, kể cả
những lớp con đều không có quyền truy xuất- Khi không có điều khiển truy xuất nào được
dùng, mặc nhiên là public nhưng chỉ trong gói của nó, không thể truy xuất từ bên ngoài gói
của nó
3.5 Phương thức main()
Khi chạy ứng dụng độc lập, bạn chỉ tên Class muốn chạy, Java tìm gọi hàm main() trước tiên
trong Class đó, phương thức main sẽ điều khiển chạy các phương thức khác.
Dạng tổng quát của phương thức main()
public static void main(String args[]) {
// Body of Method
}
- Một chương trình chỉ cần một lớp có phương thức main() gọi là lớp ứng dụng độc lập
Primary Class.
- Từ khoá static cho phép hàm main() được gọi khi không cần khởi tạo đối tượng. Vì main()
được trình thông dịch của Java gọi trước khi bất kỳ lớp nào được khởi tạo
- Từ khoá void cho biết hàm main() không trả về giá trị
- Từ khoá public chỉ ra rằng hàm này được gọi bởi dòng lệnh bên ngoài lớp khi chương trình
khởi động.
SVTH: Phạm Ngọc Hiếu – MSSV: 135D4802015001 – LỚP: 52K2
Page 15
THỰC TẬP CHUYÊN NGÀNH
GVHD: ThS.NGUYỄN QUANG NINH
- Tham đối String args[ ] khai báo tham số tên args thuộc lớp String, chứa chuỗi ký tự. Tham
đối này giữ các tham đối dòng lệnh dùng khi thi hành chương trình. Ví dụ 1 :
class ViDu {
public static void main (String args[]) {
for (int i=0; i < args.length; i++) {
System.out.println(“Tham doi thu “+i+”: “+args[i]);
}
}
}
Khi chạy chương trình :
C:\>java ViDu Thu tham doi dong lenh
Tham doi thu 0 : Thu
Tham doi thu 1 : tham ....
C:>java ViDu Thu “tham doi” “dong lenh”
Tham doi thu 0 : Thu
Tham doi thu 1 : tham doi
Tham doi thu 2 : dong lenh
3.6 Hàm khởi tạo (Constructor)
Có những thao tác cần thực hiện mỗi khi đối tượng lần đầu tiên được tạo như khởi tạo giá trị
cho các biến. Các công việc này có thể làm tự động bằng cách dùng hàm khởi tạo.
Hàm khởi tạo có cùng tên với lớp mà nó thuộc về, chỉ được tự động gọi bởi toán tử new khi
đối tượng thuộc lớp được tạo. Hàm khởi tạo không có giá trị trả về, khi định nghĩa hàm có thể
ghi void hay không ghi. Ví dụ : - kích thước hộp được khởi tạo tự động khi đối tượng được
tạo.
class Box {
SVTH: Phạm Ngọc Hiếu – MSSV: 135D4802015001 – LỚP: 52K2
Page 16
Trường Đại học Giao thông Vận tải (tên tiếng Anh: University of Communications and Transport, tên viết tắt: UTC hoặc UCT) là một trường đại học công lập đào tạo chuyên ngành các lãnh vực về kinh tế - kỹ thuật giao thông vận tải của Việt Nam. Trường trực thuộc Bộ Giáo dục và Đào tạo
Translate
Đăng ký:
Đăng Nhận xét
(
Atom
)
Không có nhận xét nào :
Đăng nhận xét