python学习笔记--面向对象编程(OOP)
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__()
- 【廖雪峰Python学习笔记】面向对象编程OOP
- Python学习笔记(八):面向对象编程、错误调试和测试(快速入门篇)
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术06--事件
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术01--接口
- Python学习笔记 6--高阶函数、面向对象编程
- 我的Python学习笔记_Day16 面向对象编程2
- (原创)c#学习笔记08--面向对象编程简介02--OOP技术05--运算符重载
- Python学习笔记——面向对象编程
- Python3学习笔记6-类,面向对象编程
- 面向对象编程——python 学习笔记
- Python学习笔记 四:面向对象程序设计(OOP)
- [学习笔记]python之面向对象编程
- Python面向对象编程中关于类和方法的学习笔记
- Python学习笔记--2--面向对象编程
- 『Python学习』python 核心编程——面向对象编程学习笔记
- Python3学习笔记(7)—— 面向对象编程
- Python学习笔记 - 面向对象编程
- python学习笔记-OOP
- Python学习笔记(7)——OOP_2
- 我的Python学习笔记_Day15 面向对象编程1