面向对象:
定义:面向对象编程,(Object Oriented Programming):其本质是以建立模型体现出来的抽象思维过程和面向对象的方法。这个模型,我们叫做类,而类实现的一个个案例,我们称对象
OOT:面向对象的测试
OOD:面向对象的设计
OOA:面向对象的分析
静态属性:对象所包含的属性
方法:对象的动态属性,详细的描述了对象所能执行的功能
面向对象和面向过程的区别和优缺点:
一:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
二:面向过程优缺点:
优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点:没有面向对象易维护、易复用、易扩展
三:面向对象优缺点:
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点:性能比面向过程低
面向对象编程的三大特征:
一:封装
在Python中有三种常用的封装方法:
1.使用双下划线__将属性私有,
2.使用全局函数property,将参数set和get传递
3.使用annotation(注解),proprietary来进行二次封装,(注意:此处存在一个伪重载)
4.函数的重载(overload)
函数名称相同,参数的个数或类型不同
注意:Python没有函数重载,因为python是若数据类型语言
二:继承extend:Python中允许多继承
即子类继承父类的方法。
类似java private 表示除了类本身,其他的都不能访问
类似于java protected 表示除了本身,子类也允许访问
函数重写:在继承中,子类继承父类方法但又不能够满足需求,需要重新覆盖父类方法的需求。
三:多态:父类引用指向子类实例的现象,叫做多态,是在继承基础上。即一个对象有多种状态。