8分钟搞懂面向对象编程 | 面向过程vs面向对象 | OOP | 封装 继承 多

Hello!励志成为科代表的我出现了,我会在合集和分P视频里出现制作笔记(but孩子要考试,可能不能及时出现)。
本笔记适用于当你认真学习了本套教程后的复习,最后放上一些合集笔记链接
https://www.bilibili.com/read/readlist/rl656437?spm_id_from=333.999.0.0
P26-29 面向对象编程
一、面向过程编程
1.过程:指完成某个具体任务的代码,基本为函数
2.核心:实现的事情拆分成步骤依次完成
3.问题:随着逻辑难度提升代码清晰度下降
二、面向对象编程理论部分
1.类是创建对象的模板,类是对象的实例。类定义了对象的属性和方法
2.优点:减少参数,有利简化程序逻辑,清晰逻辑及后续数据流动,可以绑定相关性质特点
3.特性:封装,继承,多态
(1)封装:写类的人将内部实现细节隐藏起来,使用类的人只通过外部接口访问使用,可减少外部使用精力
(2)继承:允许创建有层次的类。类可以有子类和父类来表达从属关系,可减少代码冗余
(3)多态:因为对象具体类的不同而有不同的表现,可统一调用同一名称的方法调用实质不同的方法
三、类定义属性的运用
1.基本格式:class 类名称:
定义类的代码
定义类的代码
2.命名类方法:Pascal命名法
用首字母大写来区分单词(和驼峰差不多)
3.构造函数:
(1)作用:定义实例对象的属性
(2)基本格式:
class 类名称:
def __init__(self,参数):
self.参数 = 参数
(这里self用于绑定属性值到对象自身)
4.创建对象:类名 = 对象(参数)
5.获取对象属性:类名.属性(参数)名
注:三、四中的self参数不需手动传入
四、类定义方法的运用
1.格式要求:
在class关键字后缩进,同__init__,括号内要先跟self表示对象自身,其余同普通方法(见P18)
(这里self用于获取修改和对象绑定的属性)
2.调用方法:对象.方法名(参数)
五、类继承
1.创建方法:
创建一个父类,在创建子类时,在子类名称后面跟上(父类名)
注:在调用子类属性和方法时,会优先看所属类有无该方法,若没有时查找父类中有无该方法
3.super方法
(1)为避免调用子类属性方法时方法属性不完整,使用super方法,其将会返回当前子类的父类
(2)使用:
def __init__(子类参数):
super __init__(父类参数):
4.使用继承的情况:A是B→class A(B)