Kế thừa (Extends) trong Java

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.

Related Posts

Next.js – Khám phá Framework JavaScript tuyệt vời cho phát triển ứng dụng web

Giới thiệu về Next.js Next.js là một framework JavaScript mã nguồn mở và phổ biến được sử dụng để xây dựng các ứng dụng web hiệu suất…

Tạo Form đăng ký bằng Javascript

Ghi đè trong java, cách thực hiện chi tiết

Trong lập trình hướng đối tượng, ghi đè là một kỹ thuật cho phép các đối tượng con ghi đè lại phương thức của đối tượng cha…

noi-chuoi-java

Nối chuỗi trong Java

Nối chuỗi trong Java là phương pháp nối hai chuỗi riêng biệt lại với nhau. Bạn có thể sử dụng toán tử (+) hoặc phương thức concat()….

vuejs-la-gi

Vuejs là gì? Tìm hiểu tổng quan về Vue.js

JavaScript là ngôn ngữ lập trình phía Front end có độ phổ biến rất lớn. Hàng loạt Framework Js được ra đời được viết từ nó. Và…

Overriding-java-1

Overriding trong Java

Bài viết này sẽ giúp bạn hiểu về tính đa hình trong Java thông qua Overriding. Nếu bạn đã tìm hiểu về kế thừa lớp sẽ thấy…

javascript

Cách gọi hàm JavaScript trong HTML

Hàm (Functions) trong JavaScript nếu không gọi đến nó sẽ không thực thi chức năng. Vì thế để thực hiện một nhiệm vụ nào đó ở trong…