Kế thừa là gì?
Kế thừa là gì?
Các đối
tượng khác nhau thường có một số đặc điểm chung. Ví dụ như xe đạp leo núi, xe đạp
đôi, xe đạp đi đường, chúng đều có đặc điểm chung của một chiếc xe đạp, nhưng bản
thân mỗi chiếc xe đạp lại mang những đặc điểm riêng làm chúng khác biệt hơn so
với các loại xe còn lại: Xe đạp leo núi thì lốp xe dày hơn, xe đạp đôi thì có 2
ghế ngồi và 2 tay điều khiển, xe đạp đi đường thì có trọng lượng nhẹ hơn. Ta gọi
xe đạp là lớp cha (superclass) và xe đạp
leo núi, xe đạp đôi, xe đạp đi đường là các lớp
con (subclass). Các lớp con thì kế
thừa (inheritance) từ lớp cha.
Vậy kế thừa, đúng như nghĩa của nó, là việc
thừa hưởng các đặc điểm và hành vi từ lớp
cha, trong khi đó vẫn có thể phát triển những đặc điểm và hành vi (hay thuộc
tính và phương thức khi nói trong lập trình) của mình (lớp con). Ở ví dụ trên, xe đạp leo núi, xe đạp đôi, xe đạp đi đường
đều thừa hưởng đặc điểm và hành vi của xe đạp, nhưng mỗi loại xe lại mang tính
năng riêng của nó khiến chúng trở nên khác biệt.
Ví dụ về kế thừa đối với xe đạp
Trong Java, cú pháp của kế
thừa rất đơn giản, chỉ cần thêm extends
+ tên lớp muốn kế thừa phía sau lớp đó
class MountainBike extends Bicycle{
//Viet cac thuoc tinh va phuong thuc
…
}
Sau khi
thực hiện, các thuộc tính và phương thức của lớp MountainBike
sẽ hưởng từ lớp Bicycle, và ta có thể thêm thuộc
tính và phương thức cho MountainBike ở dấu “…”
Lưu ý:
Mỗi lớp chỉ có thể kế thừa được duy nhất 1 lớp khác. Có thể có nhiều lớp kế thừa
cùng 1 lớp giống nhau (như ví dụ trên, các lớp bike khác nhau kế thừa từ cùng một
lớp bicycle, nhưng các lớp này chỉ được kế thừa duy nhất 1 lớp bicycle, không
thể kế thừa đồng thời 2 hoặc nhiều lớp khác).
Việc kế
thừa giúp cho lập trình viên thuận lợi rất nhiều trong việc xây dựng code của mình.
Trong khi viết code về kế thừa, bạn sẽ không thấy thuộc tính và phương thức của
lớp cha tại lớp con khi kế thừa lớp cha đó, nếu cần nên chú thích rõ ràng để tiện
hơn trong khi code.
Người
viết: Lê Công Diễn
Mang
đi nhớ ghi nguồn
Nhận xét
Đăng nhận xét