第七章:多态 OO
程序员文章站
2022-07-04 21:20:24
...
看了tij讲多态那一章。oo中多态有几种表现机制,继承,接口都可以实现多态。java中实现多态是因为采用了后期绑定,即在编译时进行前期绑定,与接口、父类绑定,执行时才与实现类绑定,即所谓的后期绑定策略。
函数的覆写与重载。
覆写:在子类中实现了父类中实现的方法,参数型别一样。
重载:在子类中实现了父类中实现的方法,参数型别不一样。
函数重载并不是多态的表现,多态的前提是后期绑定,即通过接口或父类调用子类的函数,而被子类重载过的函数并不能通过父类调用,所以不能后期绑定。
抽象方法没有body!含有抽象方法的类即为抽象类,是为了抽象更纯粹的类的定义而设计的(相比之下,接口更纯粹一点),抽象类中可以含有方法的实现(与接口的区别)。
接口、抽象类的设计都是为了oo中的多态。在系统的设计中,如果涉及到多态的问题,应该考虑采用这两种方案解决。
函数的覆写与重载。
覆写:在子类中实现了父类中实现的方法,参数型别一样。
重载:在子类中实现了父类中实现的方法,参数型别不一样。
函数重载并不是多态的表现,多态的前提是后期绑定,即通过接口或父类调用子类的函数,而被子类重载过的函数并不能通过父类调用,所以不能后期绑定。
抽象方法没有body!含有抽象方法的类即为抽象类,是为了抽象更纯粹的类的定义而设计的(相比之下,接口更纯粹一点),抽象类中可以含有方法的实现(与接口的区别)。
接口、抽象类的设计都是为了oo中的多态。在系统的设计中,如果涉及到多态的问题,应该考虑采用这两种方案解决。
下一篇: git ignore