Thursday, March 12, 2020

Java hướng đối tượng: Một số câu hỏi liên quan đến tính thừa kế trong Java

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.
Một số câu hỏi liên quan đến tính thừa kế trong Java

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 {
    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
    } 
}
Bài viết liên quan đến Tính kế thừa trong java 

No comments:

Post a Comment