组合,多态与多态性,封装以及property装饰器介绍

一:组合:

             什么是组合:组合指的是某一个对象拥有一个属性,该属性的值是另外一个类的对象。

             为何要用组合:通过为某一个对象添加属性(属性的值是另外一个类的对象)的方式,可以间接地将两个类关联/整合/组合到一起

                                      从而减少类与类之间代码冗余

 

                

 

二:多态与多态性

              什么是多态:多态指的是同一种/类事物的不同形态。

              为何要用多态:
                          多态性:在多态的背景下,可以在不用考虑对象具体类型的前提下而直接使用对象
                          多态性的精髓:统一

                          父类只是用来建立规范的,不能用来实例化的,更无需实现内部的方法

 

三:封装

              什么是封装:

                             装:往容器/名称空间里存入名字
                             封:代表将存放于名称空间中的名字给藏起来,这种隐藏对外不对内

              为何要封装:

                        封装数据属性:将数据属性隐藏起来,类外就无法直接操作属性,需要类内开辟一个接口

                               来外部的使用可以间接的操作属性,可以在接口内定义任意的控制逻辑,从而严格控制使用对属性的操作

                        封装函数属性:隔离复杂度

              如何封装:

                         在类内定义的属性前加__开头(没有__结尾)

                  总结:              

                     1. __开头的属性实现的隐藏仅仅只是一种语法意义上的变形,并不会真的限制类外部的访问
                     2. 该变形操作只在类定义阶段检测语法时发生一次,类定义阶段之后新增的__开头的属性并不会变形
                     3. 如果父类不想让子类覆盖自己的属性,可以在属性前加__开头

 

四:类中函数的装饰器之一:property

                            property装饰器是用来将类内的函数属性伪装成数据属性

                        

                      例:

                              

 

posted @ 2018-08-21 12:45  &nbsp  阅读(154)  评论(0编辑  收藏  举报