Tính kế thừa trong ngôn ngữ java

0
682
kế thừa trong java
kế thừa trong java
This entry is part 20 of 29 in the series Tự học lập trình Java

Bài viết này mình sẽ giới thiệu cho các bạn hiểu về tính kế thừa trong java. Qua đó hi vọng các bạn có thể tự viết được một class kế thừa từ class khác để giải quyết một bài toán.

Tính kế thừa trong java

  • Kế thừa trong java là sự liên quan giữa hai class với nhau, trong đó có class cha (superclass) và class con (subclass). Khi kế thừa class con được hưởng tất cả các phương thức và thuộc tính của class cha. Tuy nhiên, nó chỉ được truy cập các thành viên public và protected của class cha. Nó không được phép truy cập đến thành viên private của class cha.
  • Khi kế thừa từ một lớp đang tồn tại bạn có sử dụng lại các phương thức và thuộc tính của lớp cha, đồng thời có thể khai báo thêm các phương thức và thuộc tính khác.

Cú pháp kế thừa

Ví dụ về kế thừa trong java

Trong java có support các kiểu kế thừa sau

cac-kieu-ke-thua
Các kiểu kế thừa trong java

Ví dụ về đơn thừa kế

Ví dụ về thừa kế nhiều tầng

Ví dụ về thừa kế thứ bậc

 

Để giảm thiểu sự phức tạp và đơn giản hóa ngôn ngữ, đa kế thừa không được support trong java.

Hãy suy xét kịch bản sau: Có 3 lớp A, B, C. Trong đó lớp C kế thừa từ các lớp A và B. Nếu các lớp A và B có phương thức giống nhau và bạn gọi nó từ đối tượng của lớp con, như vậy khó có thể xác đinh được việc gọi phương thức của lớp A hay B.

Vì vậy lỗi khi biên dịch sẽ tốt hơn lỗi khi runtime, java sẽ print ra lỗi “compile time error” nếu bạn cố tình kế thừa 2 class.

Bài tập:

  1. Viết một class point có các thuộc tính vị trí (x,y) và các phương thức set,get để làm việc với hai thuộc tính đó.
  2. Viết một class circle kế thừa từ class point. Có thêm thuộc tính r (bán kính) và các phương thức tính chu vi, diện tích của hình tròn đó.

Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

Series Navigation<< Tính đóng gói trong javaTính đa hình trong java >>
avatar
  Subscribe  
Notify of