1. Tại sao sử dụng tính kế thừa trong Java?
- Để ghi đè phương thức (Method Overriding), do đó có thể thu được tính đa hình tại runtime.
- Để làm tăng tính tái sử dụng của code.
2.Tại sao đa kế thừa không được support trong java?
Để 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.
public class Printable {Bài viết liên quan đến Tính kế thừa trong java
void print() {
System.out.println("Printable");
}
}
public class Showable {
void print() {
System.out.println("Showable");
}
}
// Không thể thực hiện đa thừa kế với class
public class MultiHeritanceExample extends Printable, Showable {
public static void main(String args[]) {
MultiHeritanceExample obj = new MultiHeritanceExample();
obj.print(); // Không thể xác định được gọi phương thức print() của class nào
}
}
No comments:
Post a Comment