多态的练习

该代码示例展示了如何在Java中使用面向对象编程来创建Dog和Penguin类,它们都继承自一个共同的父类Pet。Dog类有品种属性,Penguin类有性别属性,每个类都有输出宠物信息的方法。在PetTest类中,通过多态方式创建了Dog和Penguin对象并调用了它们的print方法显示信息。
摘要由CSDN通过智能技术生成
题目要求:
1. 请根据要求使用面向对象方式实现程序
2. 定义以下类:
3. Dog 类:变量(昵称、健康值、亲密度、品种),输出宠物信息的方法。
4. Penguin 企鹅类:变量(昵称、健康值、亲密度、性别),输出宠物信息的方法。
5. 抽取 Dog Penguin 的父类
6. 定义测试类
7. 正确编写 Dog 类,编写类中特有的变量输出信息的方法
8. 正确编写 Penguin 类,编写类中特有的变量和输出信息的方法
9. 多态方式创建对象,调用其方法
package com.zhou.com.Demo5;

public class Pet {
    private String nickname;//昵称
    private int health;//健康值
    private int intimacy;//亲密度

    public Pet() {
    }

    public Pet(String nickname, int health, int intimacy) {
        this.nickname = nickname;
        this.health = health;
        this.intimacy = intimacy;
    }

    //输出宠物信息的方法
    public void print(){
        System.out.println("昵称:"+nickname);
        System.out.println("健康值:"+health);
        System.out.println("亲密度:"+intimacy);
    }
}

 

package com.zhou.com.Demo5;

public class Dog extends Pet{
    private String breed;//品种

    public Dog(String breed) {
        this.breed = breed;
    }

    //构造方法
    public Dog(String nickname, int health, int intimacy, String breed) {
        super(nickname, health, intimacy);
        this.breed = breed;
    }

    //输出宠物信息的方法
    @Override
    public void print() {
        super.print();
        System.out.println("品种:"+breed);
    }
}
package com.zhou.com.Demo5;

public class Penguin extends Pet{
    private String gender;//性别

    public Penguin(String gender) {
        this.gender = gender;
    }

    //构造方法
    public Penguin(String nickname, int health, int intimacy, String gender) {
        super(nickname, health, intimacy);
        this.gender = gender;
    }

    //输出宠物信息
    @Override
    public void print() {
        super.print();
        System.out.println("性别:"+gender);
    }
}
package com.zhou.com.Demo5;

public class PetTest {
    public static void main(String[] args) {
        //使用多态式创建对象
        Pet dog = new Dog("旺财",80,90,"中华田园犬");
        Pet penguin = new Penguin("贝贝",70,80,"雌性");

        //调用方法输出信息
        dog.print();
        System.out.println("---------------------");
        penguin.print();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python多态练习题可以通过定义一个基类和不同的子类来实现多态性。在这个练习题中,一个基类Basse被定义,它具有Think、Eat和Sleep三个方法。然后定义了三个子类Person、Horse和Cat,它们分别继承自基类Basse,并且重写了Think、Eat和Sleep方法。最后定义了一个行为类Action,它的构造函数接受一个对象作为参数,并通过调用该对象的方法来实现多态性。 在这个练习题中,我们创建了一个Person对象Per、一个Horse对象Hor和一个Cat对象C,并且将它们分别传递给Action类的构造函数。然后我们通过调用Action对象的Think、Eat和Sleep方法来展示多态性的应用。例如,per.Eat()调用了Per对象的Eat方法,而hor.Sleep()调用了Hor对象的Sleep方法。 通过这个练习题,我们可以看到不同的对象通过继承和重写基类方法来实现了相同的动作,从而展现了多态性的特点。它使得我们可以使用统一的接口来处理不同的对象,并且根据对象的类型来调用相应的方法。这样可以提高代码的灵活性和可扩展性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python关于多态练习](https://blog.csdn.net/weixin_46601559/article/details/121285969)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值