面向对象之复习

面向过程编程思想:核心是《过程》,就是先干什么再干什么,过程流程化

面向对象编程思想:核心是《对象》,对象其实本质上是一个容器,用来盛放功能和属性的容器,是数据与方法的结合体。

类与对象:类是在对象的基础上的一种分门别类,主要是为了节省内存,本来是对象先产生,在产生类,但是注意,在程序中,是先产生了类,在根据类去一个一个的实例化出一个个对象。

对象:对象是由类产生的一个个对象,所以我们前面所学的l=[1,2,3],这个l也是列表的对象,列表也是一个类,依次类推,一切皆对象。

面向对象三大特性:封装,继承,多态

封装:本质上是一个整合的思想,将所有的东西统一规划到一起,方便管理,在封装里面的__开头的都是一个隐藏,为的是不让外界看到

    但是,藏起来并不是目的,目的是为了让东西更安全一点,所以会提供一个接口,让外界来访问,将这个方法变成一个属性名,会给外界一个错觉,觉得这仅仅是一个属性。

继承:其实是一种强耦合的思想,将两个类联系在了一起,父类中含有子类的共有属性和方法,子类通过继承来访问父类中的属性与方法。

    通过super().属性/方法来访问

组合:组合是继承的一种,但不是强耦合思想,是将一个类中的对象当作另一个类的参数传递进去,这个类也可以直接访问类中的所有东西,但是没有耦合起来

多态:抽象类

   鸭子类型

绑定方法:给对象使用的,由对象调用,会自动的把对象本身当作第一个参数传给self

 

class method:本质上是一个装饰器,装饰里面的方法,被装饰的方法就是类的绑定方法。是将cls和self进行了统一

static method:非绑定方法,将类中的一个函数变成了一个普通函数

property:将方法变成了一个属性,必须由一个返回值

反射:

hasattr:判断对象/属性是否存在

getattr:对象/属性的值

setattr:修改对象/属性的值

delattr:删除对象/属性的值

类的内置方法

__Str__():格式化输出,自定义输出内容:当打印对象的时候

__del__():在文件快要结束的时候开始执行

__setter__

__str__:

 

posted @ 2019-04-24 14:30  mcc61  阅读(122)  评论(0编辑  收藏  举报