91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

java中composition如何實現多態性

小樊
83
2024-09-24 01:29:01
欄目: 編程語言

在Java中,組合(Composition)是一種結構型設計模式,它允許一個類包含其他類的對象。多態性是指允許不同類的對象對同一消息做出響應。在Java中,多態性通常通過繼承和接口實現。然而,組合也可以實現多態性,通過使用引用類型來指向子類的對象。

以下是一個使用組合實現多態性的示例:

  1. 首先,創建一個基類Animal
public class Animal {
    public void makeSound() {
        System.out.println("The animal makes a sound");
    }
}
  1. 然后,創建兩個子類DogCat,它們都繼承自Animal類:
public class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("The dog barks");
    }
}

public class Cat extends Animal {
    @Override
    public void makeSound() {
        System.out.println("The cat meows");
    }
}
  1. 接下來,創建一個AnimalContainer類,它包含一個Animal類型的引用:
public class AnimalContainer {
    private Animal animal;

    public AnimalContainer(Animal animal) {
        this.animal = animal;
    }

    public void setAnimal(Animal animal) {
        this.animal = animal;
    }

    public void performSound() {
        animal.makeSound();
    }
}
  1. 最后,在main方法中,使用AnimalContainer類來展示多態性:
public class Main {
    public static void main(String[] args) {
        AnimalContainer container = new AnimalContainer(new Dog());
        container.performSound(); // 輸出:The dog barks

        container.setAnimal(new Cat());
        container.performSound(); // 輸出:The cat meows
    }
}

在這個示例中,我們使用AnimalContainer類的animal引用來存儲不同類型的子類對象(DogCat)。當我們調用performSound()方法時,實際執行的是子類對象的makeSound()方法,從而實現了多態性。

0
福贡县| 郁南县| 怀柔区| 分宜县| 兰溪市| 牙克石市| 三都| 兴宁市| 麦盖提县| 长顺县| 买车| 婺源县| 冕宁县| 抚宁县| 海盐县| 天全县| 商洛市| 东光县| 本溪| 霞浦县| 莒南县| 绵竹市| 石阡县| 紫金县| 夏邑县| 大安市| 扶绥县| 项城市| 平顺县| 玉龙| 天峨县| 舞阳县| 盱眙县| 绩溪县| 客服| 丹巴县| 平潭县| 施秉县| 寿光市| 广宗县| 青岛市|