博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习日记0821组合 多态 封装
阅读量:7082 次
发布时间:2019-06-28

本文共 863 字,大约阅读时间需要 2 分钟。

1 组合

  什么是组合:

    组合就是有一个对象它拥有一个属性,该属性是另一个对象

  

1 class Foo:2     pass3 class Bar:4     pass5 a= Foo()6 b=Bar()7 b.attrd = a

  为何要使用组合:

    通过向一个类添加属性的方式,可以将两个类联系在一起

2 多态于多态性

  什么是多态: 多态指的是一种事物的不同组合

  多态的精髓就是:统一

   不崇尚的方法:

import abcclass People(metaclass=abc.ABCMeta):    @abc.abstractmethod                def a():        pass    @abc.abstractmethod    def b():        passclass A(People):    def a(): #此时格式被固定死了,必须有函数a和函数b        print(a)    def b():        pass

  

  鸭子方法:

class People:              def a():        pass    def b():        passclass A):    def a():         print(a)    def b():        pass

3 封装

  什么是封装:

    封:代表将存放于名称空间的名字隐藏起来,这种隐藏对外不对内

    装:向容器/名称空间中存入名字

  总结:

    1 __开头的属性没有真正的被隐藏,只是一种语法形式上的改写,并不是真正的限制外部的访问

    2 该变形只在定义的阶段进行一次,之后再添加的__开头的属性,不会再进行变形

    3 如果父类的属性不想被子类覆盖,就在属性的前面添加__

转载于:https://www.cnblogs.com/jianhaozhou/p/9511539.html

你可能感兴趣的文章
gulp教程之gulp-minify-css
查看>>
引用类型与值类型在编码上的区别
查看>>
我挺喜欢听人骂大街的。不,说真话。
查看>>
使用 mysql_use_result 还是使用 mysql_store_result?
查看>>
转: HHVM at Baidu
查看>>
Upgrade Guide
查看>>
HDU2929 Bigger is Better[DP 打印方案 !]
查看>>
Atitit.会员卡(包括银行卡)api的设计
查看>>
jquery.form.js+jquery.validation.js实现表单校验和提交
查看>>
装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接...
查看>>
微信小程序 - 更改button状态
查看>>
Hlacon 之Image ,Region,XLD
查看>>
js和jquery获取父级元素、子级元素、兄弟元素的方法
查看>>
国外程序员整理的 C++ 资源大全
查看>>
Git的杀手级功能之 一 远程仓库
查看>>
7-07. PAT排名汇总(25) (结构体 ZJU_PAT)
查看>>
初探flow.js
查看>>
【Android】Android中如何取消调转界面后EditText默认获取聚焦问题
查看>>
Jvm(45),指令集----类型转换指令
查看>>
前端学习-jQuery-2
查看>>