Friday, March 13, 2020

Java hướng đối tượng: Ví dụ Kế thừa trong java

Kế thừa: Kế thừa là một trụ cột quan trọng của OOP (Lập trình hướng đối tượng). Đây là cơ chế trong java mà một lớp được phép kế thừa các tính năng (trường và phương thức) của lớp khác.
Thuật ngữ quan trọng:
Super Class: Lớp có các tính năng được kế thừa được gọi là siêu lớp (hoặc lớp cơ sở hoặc lớp cha).
Sub Class: Lớp kế thừa lớp khác được gọi là lớp con (hoặc lớp dẫn xuất, lớp mở rộng hoặc lớp con). Lớp con có thể thêm các trường và phương thức riêng của nó ngoài các trường và phương thức của lớp cha.
 Ví dụ Kế thừa trong java

Reusability: Tính kế thừa hỗ trợ khái niệm về khả năng sử dụng lại, tức là khi chúng ta muốn tạo một lớp mới và đã có một lớp bao gồm một số mã mà chúng ta muốn, chúng ta có thể lấy được lớp mới từ lớp hiện có. Bằng cách này, chúng tôi đang sử dụng lại các trường và phương thức của lớp hiện có.
Các từ khóa được sử dụng cho thừa kế là mở rộng.
class Animal {
    void eat() {
        System.out.println("eating...");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println("barking...");
    }
}

public class TestInheritance1 {
    public static void main(String args[]) {
        Dog d = new Dog();
        d.bark();
        d.eat();
    }
}
Kết qủa
barking...
eating...
Ví dụ về kế thừa nhiều cấp
class Animal {
    void eat() {
        System.out.println("eating...");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println("barking...");
    }
}

class BabyDog extends Dog {
    void weep() {
        System.out.println("weeping...");
    }
}

public class TestInheritance2 {
    public static void main(String args[]) {
        BabyDog d = new BabyDog();
        d.weep();
        d.bark();
        d.eat();
    }
}
Kết quả
weeping...
barking...
eating...
Ví dụ về kế thừa thứ bậc
class Animal {
    void eat() {
        System.out.println("eating...");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println("barking...");
    }
}

class Cat extends Animal {
    void meow() {
        System.out.println("meowing...");
    }
}

public class TestInheritance3 {
    public static void main(String args[]) {
        Cat c = new Cat();
        c.meow();
        c.eat();
    }
}
Kết quả
meowing...
eating...

No comments:

Post a Comment