Lớp đối tượng– Class là một khái niệm trong Lập trình hướng đối tượng mô tả cho những thực thể có chung tính chất và hành vi.. Class định nghĩa những thuộc tính và hành vi được dùng cho
Trang 1Bài 4: Lập trình hướng đối
1.Tổng quan lập trình
hướng đối tượng
2.Xây dựng lớp đối tượng
3.Package
Trang 21 Tổng quan lập trình hướng đối tượng
Khái niệm
Các đặc trưng cơ bản
Trang 3Khái niệm
mềm dựa trên kiến trúc lớp (class) và đối tượng (object)
thành các đối tượng trong chương trình
Trang 5Các thông tin về đối tượng
– Đối tượng nhân viên
Trang 7Lớp đối tượng
– Class là một khái niệm trong Lập trình hướng đối tượng mô tả cho những thực thể có
chung tính chất và hành vi Class định
nghĩa những thuộc tính và hành vi được dùng cho những đối tượng của lớp đó
– Kết quả của sự TRỪU TƯỢNG HOÁ
(Abstraction) các đối tượng:
• Cùng loại
• Cùng các thông tin mô tả về đối tượng
Trang 8Các đặc trưng cơ bản
Tính trừu tượng (Abstraction)
– Lớp (Class) là một khái niệm trừu tượng
• Ví dụ: Thông tin của nhân viên được mô
tả trong lớp Nhân viên
• Ví dụ: Nhân viên “Nguyễn Văn A” là một thể hiện cụ thể của lớp Nhân viên và Đối tượng Nhân viên
Trang 9->Từ những đối tượng giống nhau,
ta có thể trừu tượng hoá thành 1 lớp
Nhân viên Nguyễn Văn A
Trang 10Tính đóng gói (Encapsulation)
– Mỗi lớpđược xây dựng để thực hiện một nhóm chức năng đặc trưng của riêng lớp đó
Ví dụ:
– Muốn thực hiện các hàm toán học là lớp Math – Muốn xử lý chuỗi là lớp String
Trang 11cũng là một nhân viên và kế thừa từ lớp
NhanVien, và có thêm những thông tin đặc trưng của nhân viên văn phòng
Trang 122 Xây dựng lớp đối tượng
Tạo lớp và đối tượng
Biến thực thể
Phương thức
Khởi tạo
Trang 14Ví dụ: khai báo lớp tam giác
Trang 15Qui tắc đặt tên lớp
Tên lớp nên là một danh từ
Tên lớp có thể gồm nhiều từ, ký tự đầu tiên của mỗi từ nên viết hoa
Tên lớp nên đặt đơn giản, dễ nhớ, và có ý nghĩa
Tên lớp không được trùng với từ khóa của Java
Tên lớp không thể bắt đầu bằng số, nhưng có thể bắt đầu bằng dấu ‘$’ và dấu gạch dưới ‘_’
Trang 16Hàm dựng (constructor)
khởi tạo các biến thành viên của lớp
Trang 17Ví dụ: khai báo hàm dựng cho lớp
tam giác vừa tạo
Trang 18Tạo đối tượng
báo, biến này chưa được định nghĩa là một đối tượng Nó chỉ là biến tham chiếu đến đối tượng
bộ nhớ được tạo ra và được gán cho biến Điều
Trang 19 Toán tử new cấp phát bộ nhớ động cho đối tượng và trả về tham chiếu tới nó
Tất cả các đối tượng của lớp phải được cấp phát động
Trang 21Biến thực thể
thể
Trang 22Ví dụ: khai báo biến thực thể mô tả
thông tin lớp TamGiac
Trang 24Phương thức (method)
Trang 25Ví dụ: khai báo phương thức tính
chu vi cho lớp tam giác
Trang 27Truyền tham số cho phương thức
– Được sử dụng cho các kiểu dữ liệu cơ bản, mọi thay đổi diễn ra bên trong phương thức không ảnh hưởng đến giá trị truyền vào
– Thay đổi bên trong phương thức sẽ làm thay đối giá trị của tham số truyền vào
– Tham số của phương thức có kiểu dữ liệu là tham
chiếu sẽ được truyền theo kiểu tham trị chứ không
phải kiểu tham chiếu Ví dụ: khi phương thức kết
thúc, tham chiếu này vẫn trỏ đến cùng đối tượng khi
Trang 30Phương thức có tham số thay đổi
phương thức với số tham số khác nhau
Trang 31 Ví dụ:
public static void Test(int … a){
for (int i : a) System.out.println(i);
}
public static void main(String args[]){ Test(1,2,3,4,5,6);
}
Trang 32 Các loại package trong Java:
– Package được định nghĩa trước
– Package do người dùng định nghĩa
Trang 33Package được định nghĩa trước
Trang 35Chỉ định từ truy xuất
Trang 36Chỉ định từ truy xuất
Trang 37Chỉ định từ truy xuất cho biến và
phương thức
Các từ khóa cho việc thay đổi quyền truy xuất – volatile: cho phép thay đổi thông tin của biến trong quá trình sử dụng
– final: cho phép thay đổi thông tin của biến chỉ một lần duy nhất / không cho phép ghi đè hàm – native: chỉ ra hàm không được viết bằng ngôn ngữ
– transient: chỉ ra một biến không thể serializable