多态小结

在这里插入图片描述
多态
 定义
  同一个引用类型,使用不同的实例而执行不同操作:父类引用,子类对象
 为什么使用多态
  当我们写一个方法需要给不同的对象使用时,不用多态,会是的,频繁修改代码,代码可扩展性和可维护性差,这时需要用多态优化。
 如何实现
  编写父类,编写子类,子类重写父类方法。
  运行时,使用父类的类型,子类的对象
  向上转型,自动类型转换。Pet pet = new Dog();
  两种形式:1:使用父类作为方法形参实现多态2:使用父类作为方法返回值实现多态
 父类作为形参
  调用父类作为形参,可以直接用形参点父类的方法,实现这个类的实例化;测试时,new出该类对象x,再利用向上转型把需要表达的子类对象new出来s,让x.方法(s);这就是父类作为形参的格式。
 父类作为返回值
  如果要求里面需要传入的值是编号类或者不需要传整个类进来时,这时就用返回值形式的多态方式。
  1:创建方法,参数是需要的类型和数据;2:创建一个父类对象,因为不知道要调用哪个子类,所以先
让这个对象等于null,经过判断,调用子类;3:这个子类就是,父类对象=new 子类就好了。最后返回
这个对象;4:在text里面用的时候,:创建一个主对象,然后让他,调用方法,传参,使其等于父类
的一个新对象,在这个对象调用各种父类方法就行了。
 作为返回值的代码
   public pet getpet(int id){
       //把父类当作返回值使用父类。形成多态
 pet p=null;
 if (id1){p=new dog();}else if (id2){p=new cat();
       } return p; }
  调用该方法:muster m=new muster();
 pet p= m.getpet(x);
 p.eat();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值