组合封装知识点

组合

定义:

组合指的是,一个对象中的属性是另一个对象

目的:

和继承一样,都是为了减少代码的冗余度

总结:
继承:

类与类的关系,一种是什么与什么的关系,子类和父类是从属关系

组合:

对象与对象的关心,一种什么有什么的关系,一个对象拥有另一个对象

封装

定义:

封装指的是把一堆属性(特征与技能)封装到一个对象中。

存数据的目的是为了取,对象可以“,”的方式获取属性

比喻:

对象就好比一个袋子,袋子里面装一堆属性

目的:

为了方便存取,可以通过 对象.属性的方式获取

如何封装:

特征:变量--->数据属性

技能:函数--->方法属性

在类内部,定义一堆属性(特征与技能),通过 对象.属性 = 属性值

访问限制机制

定义:

在类内部定义,凡是以 __ 开头的数据属性与方法属性,都会被Python内部隐藏起来,让外部不能直接访问类内部以 __ 开头的属性

比如: __name = ‘tank’

​ def __student(self):

​ pass

目的:

一堆隐私的属性与不能被外部轻易访问的属性,可以隐藏起来,不被外部调用

优势:对重要数据获取的逻辑更加严谨,进而保证了数据的安全

接口:

隐私属性可以通过封装一个接口,在接口内做业务逻辑的处理,再把数据返回给调用者

注意:在Python中,不UI强制限制苏醒的访问,类内部__ 开头的属性,只是做了一种变形

若想直接访问,调用变形后的名字即可

例:

__ name , 变形之后就是 _ 类名 __name

property

定义:

Python内置的装饰器,主要是给类内部的方法使用

目的:

使用他的目的就是将类内部的方法(def 方法名())变成了(def 方法)

在对象调用某一个方法时,将 对象.方法()变成对象。(看起来就像一个普通的数据)

如何使用:
@property

def 方法():

多态

定义:

多态指的是同一种事物的多种形态

目的:

多态也称之为多态性,在程序中继承就是多态的表现形式;

多态的目的是为了让多种不同类型的对象,在使用相同功能的情况下,调用同一个名字的方法名。

父类:定义一套统一的标准

子类:遵循父类统一的标准

多态的最终目的:同一子类编写的规范,为了来让使用者更方便的调用下昂通功能的方法

如何实现:

继承

注意:在Python中,不会强制要求子类必须遵循父类的一套标准,所以出现了抽象类

抽象类:

定义:

abc模块 abstract_class

目的:

强制子类必须遵循父类的一套标准

如何使用:

import abc

鸭子类型

定义:

在不知道当前类是什么的情况下,但是你长的像鸭子,那么你就是鸭子类型

在Python中,不推荐使用抽象类限制子类的定义,但是推荐,类都遵守鸭子类型

继承:耦合性太高,程序可扩展性差

鸭子类型:耦合程度低,程序的可扩展性强

posted @ 2019-10-12 10:18  落笺丶  阅读(159)  评论(0编辑  收藏  举报