首页 > 分享 > 面向对象之多态的具体运用

面向对象之多态的具体运用

面向对象之多态的具体运用

最新推荐文章于 2022-07-28 14:24:58 发布

m0_45442261 于 2020-09-26 06:51:04 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

package cn.kgc.tyl.test0925.entity; /** * 实体类主人 * */ /** ***多态A,1发生在继承关系中,2,子类重写了父类的抽象方法3父类的引用指向了子类,【向上转型,自动转换】 统一操作【方法名相同】不同条件下【子类的参数列表不同】得到的结果不同【各自调用的操作方法名相同,但是结果不同】,具体执行那个动态调用; B实现接口的另一种形式:在类中都返回相同的父类 C在接口中的表现形式:不同的类实现接口并且覆盖接口中的方法;** * */ public class Master { private String masterName;//主人姓名; public String getMasterName() {return masterName; } public void setMasterName(String masterName) {this.masterName = masterName; } public Master(String masterName) {super();this.masterName = masterName; } public Master() {super(); } public void feed(Pet pet) {System.out.print(masterName+"喂宠物,");pet.eat(); } } ************************************************************************************************************************** package cn.kgc.tyl.test0925.entity; import lombok.Data; /** * 父类(宠物类) * */ @Data public abstract class Pet { public Pet(String name, int age, int health) {super();this.name = name;this.age = age;this.health = health;} private String name;//名字 private int age,health;//年龄,健康值; /** * 宠物类吃的方法 * */ public abstract void eat(); } ******************************************************************************************************* package cn.kgc.tyl.test0925.entity; /** * 子类(狗类) */ public class Dog extends Pet {private String strain;//品种public Dog(String name, int age, int health, String strain) {super(name, age, health);this.strain = strain;}public String getStrain() {return strain;}public void setStrain(String strain) {this.strain = strain;}@Overridepublic void eat() {System.out.println("狗吃狗粮");} } *************************************************************************************************** package cn.kgc.tyl.test0925.entity; /** * 子类(企鹅类) * */ public class Penguin extends Pet { public Penguin(String name, int age, int health, String gender) {super(name, age, health);this.gender = gender;} public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;} private String gender;//性别@Overridepublic void eat() {System.out.println("企鹅吃鱼");} } **************************************************************************************************8 package cn.kgc.tyl.test0925.entity; /** * 子类(蛇类) * */ public class Snake extends Pet {public Snake(String name, int age, int health) {super(name, age, health);}@Overridepublic void eat() {System.out.println("蛇吃青蛙");} } ******************************************************************************************** package cn.kgc.tyl.test0925.TestDuotai; import cn.kgc.tyl.test0925.entity.Dog; import cn.kgc.tyl.test0925.entity.Master; import cn.kgc.tyl.test0925.entity.Penguin; import cn.kgc.tyl.test0925.entity.Pet; import cn.kgc.tyl.test0925.entity.Snake; /** * 测试宠物类 * */ public class TestPet { public static void main(String[] args) {Pet dog=new Dog("柯基", 3, 78, "拉布拉多");Pet snake=new Snake("小黑", 1, 100);Pet penguin=new Penguin("帝王", 1, 99, "Q仔");Master m=new Master("大卫");m.feed(dog);m.feed(penguin);m.feed(snake); } } /** *操作结果 大卫喂宠物,狗吃狗粮 大卫喂宠物,企鹅吃鱼 大卫喂宠物,蛇吃青蛙 * */

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170

相关知识

面向对象之多态的具体运用
Java 面向对象——多态(上)
Java面向对象
python之面向对象
多态应用
java 多态
Python基本思想——面向对象编程
多态
多态实现主人喂养宠物
Java学习之多态二

网址: 面向对象之多态的具体运用 https://m.mcbbbk.com/newsview623071.html

所属分类:萌宠日常
上一篇: 宠物蛇的上手技巧
下一篇: 毒蛇专家直播时被蛇咬 死前让观众