多态
定义
同一个引用类型,使用不同的实例而执行不同操作:父类引用,子类对象
为什么使用多态
当我们写一个方法需要给不同的对象使用时,不用多态,会是的,频繁修改代码,代码可扩展性和可维护性差,这时需要用多态优化。
如何实现
编写父类,编写子类,子类重写父类方法。
运行时,使用父类的类型,子类的对象
向上转型,自动类型转换。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();
多态小结
最新推荐文章于 2023-05-03 09:41:14 发布