面向对象是对现实世界模型的自然延伸,是一种“万物皆对象”的编程思想。现实生活中的任何物体都可以归为一类事物,每个个体都是一类事物的实例。面向对象编程以对象为中心,以消息为驱动,所以程序=对象+消息。
面向对象有三大特性,封装、继承和多态。
封装就是将一类事物的属性和行为抽象成一个类,使其属性私有,行为公开,提高数据的保密性,使代码模块化。这样做可以使代码更易于重用。
继承就是将一类事物的共同属性和行为进一步抽象为一个父类,而每个子类都是一个特殊的父类——既有父类的行为和属性,也有自己特有的行为和属性。这样做扩展了现有的代码块,进一步提高了代码的可重用性。
如果说封装和继承是为了代码复用,那么多态就是为了接口复用。多态性的主要功能之一是解耦——解耦父类和子类的继承。如果说继承中父子类的关系是IS-A,那么接口和实现类的关系就是HAS-A。简单来说,多态就是让父类的引用(或接口)指向子类(或实现类)的对象。许多设计模式都是基于面向对象的多态设计。
综上所述,如果说封装和继承是面向对象的基础,那么多态就是面向对象理论的精髓。要掌握多态,首先要了解接口。只有充分理解了接口,才能更好的应用多态。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 深入了解 Python 中的 asyncio 库——线程池11/15
- ♥ 在哪里打开python的文件编辑器09/21
- ♥ 深入理解Python随机数生成模块:random10/17
- ♥ 如何在php中使用python脚本文件的内容12/01
- ♥ 如何在python中调用另一个程序12/18
- ♥ 如何在python中使用pil12/09
内容反馈