面向过程:
面向过程的优点:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单
面向缺点:套流水线或者流程就是用来解决一个问题,基本无法更改
面向对象:是一种程序设计思想。将数据和处理数据的程序封装到对象中
面向对象的优点:不再需要关心,每个功能具体的实现细节
大大提高了程序的扩展性
提高了程序的灵活性
面向对象的缺点:编程的复杂度远高于面向过程
一些扩展性要求低的场景使用面向对象会徒增编程难度
类:是一系列对象中相似特征与技能的结合体
对象:对象是特征与技能的结合体,且具体存在的称为对象
绑定方法:
绑定到类的方法与绑定到对象的方法总结
异同点:
相同
绑定对象调用时都有自动传参的效果
绑定到谁给谁就由谁来调用
不同
绑定到类的方法自动传入当前类
绑定到对象的方法自动传入当前对象
另外:
绑定方法中的self 和 cls参数名 是可以随意修改的,但是self和cls是约定俗成的写法,为了提高可读性不建议修改
封装:封装指的是对外部隐藏对象的属性和实现细节,仅对外公开接口,控制程序中属性的访问权限
封装优点:保护数据安全,隔离复杂度
property:是一个装饰器,将一个方法伪装成普通属性,其特殊之处在于,该方法会在修改属性值时自动执行
继承:继承是一种关系,通过继承关系,一个对象可以直接使用另一个对象拥有的内容
继承的优点:
1.减少代码重复
2.为多态提供必要的支持
此时查找属性的顺序是:
对象本身的名称空间 - > 类的名称空间 -> 父类的名称空间 -> 父类的父类名称空间 ->...object类
派生:当父类提供的属性无法完全满足子类的需求时,子类可以增加自己的属性或非法,或者覆盖父类已经存在的属性,此时子类称之为父类的派生类
覆盖:在子类中如果出现于父类相同的属性名称时,根据查找顺序,优先使用子类中的属性,这种行为也称为覆盖
组合:组合指的是,在一个类中以另外一个类的对象作为数据属性,称为类的组合
接口:接口其实是一套协议规范
多态;多态指的是一类事物有多种形态
多态的优点:1.增加了程序的灵活性
2.增加了程序额可扩展性
原文地址:https://www.cnblogs.com/huanghongzheng/p/10895802.html