面向对象定义

面向过程: 面向过程的优点:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单 面向缺点:套流水线或者流程就是

面向过程:

面向过程的优点:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单

面向缺点:套流水线或者流程就是用来解决一个问题,基本无法更改

面向对象:是一种程序设计思想。将数据和处理数据的程序封装到对象中

面向对象的优点:不再需要关心,每个功能具体的实现细节

大大提高了程序的扩展性

提高了程序的灵活性

面向对象的缺点:编程的复杂度远高于面向过程

一些扩展性要求低的场景使用面向对象会徒增编程难度

类:是一系列对象中相似特征与技能的结合体

对象:对象是特征与技能的结合体,且具体存在的称为对象

绑定方法:

绑定到类的方法与绑定到对象的方法总结

异同点:

相同

绑定对象调用时都有自动传参的效果

绑定到谁给谁就由谁来调用

不同

绑定到类的方法自动传入当前类

绑定到对象的方法自动传入当前对象

另外:

绑定方法中的self 和 cls参数名 是可以随意修改的,但是self和cls是约定俗成的写法,为了提高可读性不建议修改

封装:封装指的是对外部隐藏对象的属性和实现细节,仅对外公开接口,控制程序中属性的访问权限

封装优点:保护数据安全,隔离复杂度

property:是一个装饰器,将一个方法伪装成普通属性,其特殊之处在于,该方法会在修改属性值时自动执行

继承:继承是一种关系,通过继承关系,一个对象可以直接使用另一个对象拥有的内容

继承的优点:

1.减少代码重复

2.为多态提供必要的支持

此时查找属性的顺序是:

对象本身的名称空间 - > 类的名称空间 -> 父类的名称空间 -> 父类的父类名称空间 ->...object类

派生:当父类提供的属性无法完全满足子类的需求时,子类可以增加自己的属性或非法,或者覆盖父类已经存在的属性,此时子类称之为父类的派生类

覆盖:在子类中如果出现于父类相同的属性名称时,根据查找顺序,优先使用子类中的属性,这种行为也称为覆盖

组合:组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合

接口:接口其实是一套协议规范

多态;多态指的是一类事物有多种形态

多态的优点:1.增加了程序的灵活性

2.增加了程序额可扩展性