首页 > 分享 > 学生喂养三种宠物:猫、狗和鸟

学生喂养三种宠物:猫、狗和鸟

文章目录 使用继承,体现多态性任务:学生喂养三种宠物:猫、狗和鸟(一)编程实现1、创建动物类(Animal)2、然后我们要继承动物类,创建猫类(Cat)3、我们就和上面一样,也是继承动物类,创建狗类(Dog)4、继承动物类,创建鸟类(Brid)5、然后再创建一个学生类(Student)6、最后创建一个测试学生类7、运行程序,查看结果

使用继承,体现多态性

任务:学生喂养三种宠物:猫、狗和鸟

首先学生要喂养动物,我们就先要创建,动物类(Animal),猫类(Cat),狗类(Dog),鸟类(Brid),学生类(Student)。 (一)编程实现 1、创建动物类(Animal) 首先我们要先创建类,在net.jia.p03.t03包里创建Animal类
在这里插入图片描述程序代码如下:

package net.jia.p03.t03; /** * 功能: 动物类 * 作者:贾慧琳 * 日期:2022年05月12日 */ public class Animal { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void speak() { System.out.println(name + "今年" + age + "岁了。"); } public void move() { System.out.println(name + "在动……"); } public void eat() { System.out.println(name + "在吃……"); } @Override public String toString() { return "Animal{" + "name='" + name + ''' + ",age=" + age + '}'; } }

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 2、然后我们要继承动物类,创建猫类(Cat) 一样的先在net.jia.p03.t03包里创建Cat类
在这里插入图片描述

package net.jia.p03.t03; /** * 功能: 猫类 * 作者:贾慧琳 * 日期:2022年05月12日 */ public class Cat extends Animal { /** * 子类改写父类的同名同参方法(纵向多态) */ @Override public void move() { System.out.println("猫咪[" + getName() + "]在走路。"); } @Override public void eat() { System.out.println("猫咪[" + getName() + "]爱吃鱼虾。"); } /** * 子类添加新的方法 */ public void play() { System.out.println("猫咪[" + getName() + "]玩老鼠。"); } }

1234567891011121314151617181920212223242526272829 3、我们就和上面一样,也是继承动物类,创建狗类(Dog) 先在net.jia.p03.t03包里创建Dog类
在这里插入图片描述

package net.jia.p03.t03; /** * 功能: 狗类 * 作者:贾慧琳 * 日期:2022年05月12日 */ public class Dog extends Animal { /** * 子类改写父类的同名同参方法(纵向多态) */ @Override public void move() { System.out.println("狗崽崽[" + getName() + "]在蹦跳。"); } @Override public void eat() { System.out.println("狗崽崽[" + getName() + "]爱吃骨头。"); } /** * 子类添加新的方法 */ public void play() { System.out.println("狗崽崽[" + getName() + "]玩飞盘。"); } }

1234567891011121314151617181920212223242526272829 4、继承动物类,创建鸟类(Brid) 先在net.jia.p03.t03包里创建Brid类
在这里插入图片描述

package net.jia.p03.t03; /** * 功能: 狗类 * 作者:贾慧琳 * 日期:2022年05月12日 */ public class Brid extends Animal { /** * 子类改写父类的同名同参方法(纵向多态) */ @Override public void move() { System.out.println("鸟儿[" + getName() + "]在飞翔。"); } @Override public void eat() { System.out.println("鸟儿[" + getName() + "]爱吃小虫。"); } /** * 子类添加新的方法 */ public void play() { System.out.println("鸟儿[" + getName() + "]在玩羽毛球。"); } }

1234567891011121314151617181920212223242526272829 5、然后再创建一个学生类(Student) 先在net.jia.p03.t03包里创建Student类
在这里插入图片描述

package net.jia.p03.t03; /** * 功能: 学生类 * 作者:贾慧琳 * 日期:2022年05月12日 */ public class Student { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public void feed(Animal animal) { if (animal instanceof Cat) {// 判断是否是猫咪实例 System.out.println(name + "喂养猫咪[" + animal.getName() + "]。"); } else if (animal instanceof Dog) {// 判断是否是狗实例 System.out.println(name + "喂养狗崽崽[" + animal.getName() + "]。"); } else if (animal instanceof Brid) {// 判断是否是鸟实例 System.out.println(name + "喂养鸟儿[" + animal.getName() + "]。"); } else { System.out.println(name + "喂养动物[" + animal.getName() + "]。"); } animal.speak(); // 子类继承父类的方法 animal.move(); // 体现多态(子类改写了父类的同名同参方法) animal.eat();// 体现多态(子类改写了父类的同名同参方法) // animal.play(); // 父类变量不能调用子类新增的方法 } }

1234567891011121314151617181920212223242526272829303132333435 6、最后创建一个测试学生类 最后先在net.jia.p03.t03包里创建TestStudent类
在这里插入图片描述

package net.jia.p03.t03; /** * 功能: 测试学生类 * 作者:贾慧琳 * 日期:2022年05月12日 */ public class TestStudent { public static void main(String[] args) { // 创建学生对象 Student student = new Student(); student.setName("张三丰"); //创建第一个动物 Animal animal1 = new Cat(); animal1.setName("翠花"); animal1.setAge(3); // 创建第二个动物 Animal animal2 = new Dog(); animal2.setName("轩轩"); animal2.setAge(5); // 创建第三个动物 Animal animal3 = new Brid(); animal3.setName("豆豆"); animal3.setAge(1); // 调用学生对象的喂养方法,传入不同的动物对象 student.feed(animal1); student.feed(animal2); student.feed(animal3); } }

1234567891011121314151617181920212223242526272829303132333435 7、运行程序,查看结果

在这里插入图片描述

我们在运行结果的时候,并没有显示出各种动物类的玩法接下来我们就修改Student类,利用对象的向下转型(downcasting)
在这里插入图片描述再次运行程序测试学生类,查看结果
在这里插入图片描述

相关知识

学生喂养三种宠物:猫、狗和鸟
兽医检查宠物健康,狗,猫和鸟矢量插图图片
刚会飞的八哥鸟怎么养:刚买了只3个月大的八哥鸟,应该怎么喂养和训练呢? 野生八哥幼鸟怎么养详细介绍科普
不同宠物类型的喂养指南
玉鸟的喂养
宠物营养师告诉你猫狗必吃的三种营养品
出门几天家里“毛孩子”如何安顿 我市宠物寄养和上门喂养服务多样化价格相差较大
旧京“玩物”,猫比狗地位高?最爱的还是鸟鱼虫
适合在家或户外养的十种鸟
狗粮的种类都有哪些 狗粮食的三种营养均衡选择

网址: 学生喂养三种宠物:猫、狗和鸟 https://m.mcbbbk.com/newsview38911.html

所属分类:萌宠日常
上一篇: 新红靛颏鸟怎么开叫 咋样才能让红
下一篇: 增加鸟组宠物鸡浓度,分享我家大公