• Có thể gọi hàm khởi tạo của lớp cha bằng cách sử dụng từ khóa super trong phần khai báo hàm khởi tạo của lớp con. 9.[r]
(1)Mơn: Lập trình Hướng đối tượng (Object Oriented Programming)
(2)Nội dung
4.1 Kế thừa đơn (Single Inheritance) 4.2 Kế thừa kép (Multi-Inheritance)
4.3 Các lớp trừu tượng (Abtract Classes) 4.4 Interface
4.5 Đa hình (Polymorphism)
(3)4.1 Kế thừa đơn (Single Inheritance)
Thừa kế gì?
• Tạo lớp từ lớp tồn
• Sử dụng lại trường (fields) phương thức (methods)
(4)4.1 Kế thừa đơn (tt)
• Lớp cha - Superclass
• Lớp cho lớp khác thừa kế trường phương thức
• Chúng gọi lớp sở (base class) lớp cha (parent class) • Lớp - Subclass
• Lớp dẫn xuất (derive) từ lớp khác
(5)4.1 Kế thừa đơn (tt)
Các khái niệm thừa kế Java • Sử dụng từ khóa “extends” để tạo lớp
• Một lớp dẫn xuất trực tiếp từ lớp khác – đơn thừa kế (single inheritance)
• Nếu lớp không thừa kế từ lớp cha nào, mặc định xem thừa kế từ lớp cha tên Object
• Phương thức khởi tạo (hàm dựng) khơng thừa kế Hàm dựng lớp cha gọi từ lớp
• Một lớp thừa kế tất thành phần (“protected”) lớp cha
(6)4.1 Kế thừa đơn (tt)
• Cú pháp cho đơn thừa kế Java
public class derived-class-name extends base-class-name
{
// derived class methods extend and possibly override // those of the base class
(7)4.1 Kế thừa đơn (tt)
• Ví dụ thừa kế đơn Java
(8)4.1 Kế thừa đơn (tt)
• Từ khóa “super”: Sử dụng để truy xuất thành phần lớp cha hàm dựng chúng từ lớp
• Sự thừa kế hàm khởi tạo - Constructor Inheritance a Khai báo thừa kế hàm khởi tạo
b Chuỗi hàm khởi tạo (Constructor Chaining) c Các nguyên tắc hàm khởi tạo (Rules)
(9)4.1 Kế thừa đơn (tt) a Khai báo thừa kế hàm khởi tạo
• Trong Java, hàm khởi tạo thừa kế từ lớp cha loại phương thức khác
• Khi tạo thể lớp dẫn xuất , trước hết phải gọi đến hàm khởi tạo lớp cha, tiếp hàm khởi tạo lớp
• Có thể gọi hàm khởi tạo lớp cha cách sử dụng từ khóa super phần khai báo hàm khởi tạo lớp
(10)4.1 Kế thừa đơn (tt) b Chuỗi hàm khởi tạo (Constructor Chaining)
Parent
F1
F2
Khi t o m t th hi n/đ i ạ ộ ể ệ ố
tượng c a l p d n xu t (con), ủ ớ ẫ ấ
trước h t ph i g i đ n hàm ế ả ọ ế
kh i t p c a l p cha, ti p đó ở ạ ủ ớ ế