Một trong những nguyên tắc cốt lõi trong lập trình hướng đối tượng không thể thiếu đó chính là kế thừa (Extends). Vậy kế thừa là gì? Cách sử dụng nó ra sao hãy cùng tìm hiểu ngay trong bài viết này.

Kế thừa trong Java là gì?

Kế thừa cho phép chúng ta sử dụng lại mã hiện có hoặc mở rộng một kiểu hiện có. Hay hiểu một cách đơn giản, đó là một lớp Class con (subclass) có thể kế thừa một lớp Class cha (superclass). Nó chỉ được kế thừa khi Class đó sử dụng public, protected. Còn với private thì không.

Lấy ví dụ một hãng sản xuất xe máy cung cấp nhiều mẫu cho khách hàng. Chúng có một đặc điểm chung là có bánh xe, bộ khung, xích… Thay vì thiết kế lại từ đầu thì chúng ta tạo ra một mẫu xe. Sau đó kế thừa từ mẫu đó để tạo ra các xe mới có tính năng bổ sung.

Để kế thừa trong Java thì chúng ta sử dụng từ khóa extends.

Cách sử dụng kế thừa trong Java

Hãy xem ví dụ sau:

Tạo 1 tập tin là myClass.java

public class myClass {
        
        public myClass() {
            // Construct
        }
        
        int number = 200;
    }

Tiếp theo tạo file TwoClass.java

public class TwoClass extends myClass {

    public TwoClass() {
        // Constructor
    }

    public static void main(String[] args) {
        
        TwoClass obj = new TwoClass();
        System.out.println(obj.number);

    }

}

Các kiểu kế thừa

Có 3 kiểu kế thừa đó là:

  • Đơn kế thừa
  • Kế thừa nhiều cấp
  • Kế thừa thứ bậc

1. Ví dụ đơn kế thừa

Bạn hãy xem ví dụ vừa thực hiện ở trên

2. Ví dụ kế thừa nhiều cấp

Tiếp tục ví dụ ở trên bây giờ bạn sẽ tạo thêm một tập tin là ThreeClass.java

public class ThreeClass extends TwoClass {

    public ThreeClass() {
        // constructor
    }

    public static void main(String[] args) {
        TwoClass obj = new TwoClass();
        System.out.println(obj.number);
    }

}

Như vậy là lúc đầu class TwoClass sẽ kế thừa myClass. Tiếp đó ThreeClass lại kế thừa TwoClass.

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

Kế thừa thứ bậc sẽ kế thừa trực tiếp từ class mẫu. Giống nhà sản xuất sẽ ô tô tạo ra nhiều phiên bản của xe ô tô đầu tiên vậy.

Đầu tiên ta có lớp FirstCar

public class firstCar {
        
        public myClass() {
            // Construct
        }
        public static void main(String args[]) {
            System.out.println("This is a First Car");
        }
    }

Tiếp theo twoCar sẽ kế thừa firstCar

public class twoCar extends firstCar {
        
        public twoCar() {
            // Construct
        }
        public static void main(String args[]) {
            System.out.println("This is a Two Car");
        }
}

Và tiếp nữa threeCar cũng kế thừa của firstCar

public class threeCar extends firstCar {
    public threeCar() 
    {
        // Construct 
    } 
    
    public static void main(String args[]) { 
        System.out.println("This is a three Car");
    } 
}

Kết thúc bài học bạn đã nắm được tính kế thừa trong Java chưa? Hiểu đơn giản nhất đó là tạo ra một Class mẫu sau đó sử dụng các Class con để kế thừa lại các đặc điểm của Class cha. Khi hiểu và sử dụng thuần thục bạn sẽ thấy rằng kế thừa nâng cao hiệu suất viết code trong lập trình rất lớn.

Cùng chủ đề

Bình luận!

Xin lưu ý rằng tất cả các bình luận đều được kiểm duyệt theo chính sách bảo mật và tất cả các liên kết đều là nofollow. KHÔNG sử dụng từ khóa trong trường tên. Hãy để lại một cuộc trò chuyện cá nhân và ý nghĩa. *