您的位置:首页 > 编程语言 > Python开发

python学习笔记--面向对象编程(OOP)

2020-08-05 16:45 926 查看

1.对象:世间万物皆是对象。通常将对象分为两部分:静态部分(属性)和动态部分(行为)。例如人的性别是对象人的属性,人走路是对象人的行为。python天生是面向对象的。

2.类:类是封装对象的属性和行为的载体。类是一个抽象概念,例如定义人是一个类,那么男人、女人都是人这一类的实例。

3.面向对象编程的特点:三大基本特征:封装、继承、多态。

封装:是oop的核心思想,将对象的属性和行为封装起来,避免了外部对类内部数据的影响。

继承:继承是实现重复利用的重要手段,子类通过继承复用了父类的属性和行为的同时,又添加了子类特有的属性和行为。例如定义四边形是一个类,那么平行四边形、梯形等都可以通过继承调用。其中四边形类称为父类或超类,平行四边形、梯形等称为子类。

多态:将父类对象应用于子类的特征就是多态。子类继承父类特征的同时,也具备了自己的特征,并且能够实现不同的效果,这就是多态化的结构。

4.定义类:

定义类用关键字class实现: class Classname:    注:类的名字(即Classname)一般首字母大写。例如:class Person():

创建类的实例:   例如:man=Person()

创建__init__():   __init__()  方法第一个参数必须是 self (不然会报错),其余参数用逗号隔开。

创建实例方法:实例方法是指在类中定义的函数,格式为 def functionname(self,parameterlist):

创建数据成员:数据成员是指在类中定义的变量,即属性,根据定义位置,分为类属性和实例属性。其中,实例属性指在实例(即类中函数)中定义的,只作用于当前实例;类属性是指在实例外定义的,在所有实例化的对象中公用。

访问限制:单下划线(_foo):只允许类本身和子类进行访问,不能使用 from module import  导入

双下划线(__foo):只允许定义该方法的类本身进行访问,不能通过类的实例进行访问,但是可以通过“类的实例名._类名__xxx”访问。

首尾双下划线(__foo__):表示定义特殊方法,一般是系统定义名字,例如__init__()。

5.继承

当要编写的类和另一个已经存在的类之间存在一定继承关系时,就可以通过继承来达到代码重用的目的,提高开发效率。

继承语法格式为 class Classname(baseclasslist): 其中baseclasslist为要继承的父类,可以有多个,用逗号隔开。

方法重写:父类的成员都会被子类继承,当父类中的某个方法不完全适用子类时,就需要在子类中重写。

子类中调用父类__init__()的方法:在子类中定义__init__()时,不会自动调用父类的__init__()方法。需要加上 super.().__init__()

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: