python面向对象编程的四大支柱(二,三)——抽象,多态

2020-03-31  本文已影响0人  吃鱼喵了个鱼

==============================================================
面向对象编程有四大概念:封装,抽象,多态,继承,其共同构成了面向对象编程的四大支柱。
==============================================================

(二)抽象

概念:指“剥离事物的诸多特征,使其只保留最基本的特质”的过程,在面向对象编程时,使用类进行对象建模时就会用到抽象的技巧。

比如:要对一个橘子进行建模,但是橘子的特征有很多:橘子的大小,形状,颜色,成熟度等特征。如果要创建一个类代表橘子,有些细节可能与要解决的问题并不相关。如果我们在创建一个orange类时,忽略其细节特征,这就是在进行抽象。orange对象是对橘子的抽象,代表的是只具备解决当前问题所需的基本特征的橘子。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

(三)多态

概念:指‘为不同的基础形态(数据类型)提供相关接口的能力’。接口指的是函数或者方法。示例如下:

print('Hello World!')
print(2020)

Hello World!
2020

print函数为字符串,整数这2种不同数据类型提供了相同的接口。当然也可以给浮点型,列表,元组等提供接口。

内置函数type可以返回对象的数据类型如下:

print(type('Hello World!'))
print(type(2020))

<class 'str'>
<class 'int'>

假设我们编写一个程序,创建3个对象,用对象分别画出三角形,正方形和圆形。则可以定义三个不同的类Triangle,Square,Circle,并个自定义draw()方法实现。Triangle.draw()画三角形,Square.draw()画正方形,Circle.draw()画圆形。这样设计则每个对象都有一个draw接口,支持画出自身类所需要的图形。这样就为三个不同的类提供了相同的接口。

上一篇 下一篇

猜你喜欢

热点阅读