12. Từ khóa super trong lập trình java hướng đối tượng

Trong lập trình Java hướng đối tượng, từ khóa “super” được sử dụng để tham chiếu và truy cập đến các thành phần (phương thức, trường, constructor) của lớp cha (superclass) từ một lớp con (subclass).

Các cách sử dụng chính của từ khóa “super” là:

  1. Gọi constructor của lớp cha: Khi một lớp con khởi tạo một đối tượng của nó, từ khóa “super” có thể được sử dụng để gọi constructor của lớp cha. Điều này đảm bảo rằng các phần tử của lớp cha được khởi tạo trước khi khởi tạo các phần tử của lớp con. Ví dụ:
java
class Animal {
    public Animal() {
        System.out.println("Animal constructor");
    }
}

class Dog extends Animal {
    public Dog() {
        super(); // Gọi constructor của lớp cha Animal
        System.out.println("Dog constructor");
    }
}
  1. Truy cập phương thức và trường của lớp cha: Từ khóa “super” cũng có thể được sử dụng để truy cập đến phương thức và trường của lớp cha. Khi muốn gọi một phương thức hoặc truy cập trường của lớp cha mà đã bị ẩn bởi lớp con, chúng ta có thể sử dụng “super” để đề cập đến lớp cha. Ví dụ:
java
class Animal {
    protected String name;

    public void makeSound() {
        System.out.println("Animal is making a sound");
    }
}

class Dog extends Animal {
    public void makeSound() {
        super.makeSound(); // Gọi phương thức makeSound() của lớp cha Animal
        System.out.println("Dog is barking");
    }

    public void printParentName() {
        System.out.println(super.name); // Truy cập trường name của lớp cha Animal
    }
}

Trong ví dụ này, phương thức makeSound() của lớp Dog ghi đè phương thức makeSound() của lớp Animal, nhưng vẫn có thể gọi phương thức của lớp cha bằng cách sử dụng “super”. Phương thức printParentName() trong lớp Dog cũng truy cập trường name của lớp cha Animal bằng cách sử dụng “super”.

Từ khóa “super” chỉ có thể được sử dụng trong phạm vi của lớp con và tham chiếu đến các thành phần của lớp cha.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top