组合

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

组合的目的和继承一样,为了减少代码冗余

封装

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

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

访问机制

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

一推隐藏的属性与不能被外部轻易访问的属性,可以隐藏起来,不被外部直接调用.

property

定义:python内置的装饰器,主要是给内部的方法使用.

在对象调用某个方法时,将对象,方法()变成对象.方法(看起来像一个普通的数据类型)obj.bim() == obj.bmi

使用方法

@property

def 内部的方法(self)

多态

定义:多态指的是一类事物有多种形态

例如:

动物有多种形态:人,狗,猪

import abc
class animal(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def talk(self)
        pass

class People(A
             nimal):
    def talk(self):
        print('say hello')

 class Dog(Animal):
    def talk(self):
        print('say wangwang')

class Pig(Animal):
    def talk(self):
        print('say aoao')

文件有多种形态:文本文件,可执行文件

import abc
class file(metaclass=abc.ABCCMeat):
    @abc.abcstractmethod
    def click(self):
        pass

class Text(file):
    def click(self):
        peint('openn file')

class ExeFile(File):
    def click(self):
        print('excute file')
目的:

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

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

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

如何实现:

---继承父类

---继承抽象类

---鸭子类型

抽象类的目的

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

鸭子类型

在不知道当前对象是何物的情况下,但是你得长得像鸭子,那么你就是鸭子类型

继承:

耦合性太高,程序的可扩展性差

鸭子类型:

耦合度低,程序的可扩展性强

最新文章

  1. 为什么说每个程序员都应该刷几道LeetCode?
  2. Python学习笔记——集合类型
  3. windows平台下安装、编译、使用mongodb C++ driver
  4. TIJ读书笔记06-终结清理和垃圾回收
  5. HDU 2091 空心三角形(模拟)
  6. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘
  7. SDUT1061Binomial Showdown(组合数)
  8. Windows平台Atom编辑器的常用快捷键小抄Cheat Sheet
  9. Centos5.5内核升级
  10. RUP(Rational Unified Process)笔记整理
  11. FarPoint Spread ChildView子视图
  12. webAppbuilder微件使用教程1 快速入门
  13. JAVA多线程高并发学习笔记(三)——Callable、Future和FutureTask
  14. javaweb学习方案1
  15. NGINX压力测试
  16. Java并发编程实战 之 线程安全性
  17. linux内存 free命令 buffer cache作用
  18. jenkins离线插件安装--笨方法
  19. IntelliJ IDEA java selenium
  20. python 日期操作【转】

热门文章

  1. 牛客网暑期ACM多校训练营(第三场)---A.PACM Team
  2. shell常用标识符及应用范例
  3. TypeScript + React + Redux 实战简单天气APP全套完整项目
  4. Go操作kafka
  5. C# 表达式树分页扩展(三)
  6. Net基础篇_学习笔记_第十二天_面向对象继承(字符串_字符串的各种方法)
  7. ORACLE SQL语句练习题
  8. C++11部分特性
  9. PHP开发 高可用 高安全App后端(免费)
  10. Aspose.Cell导出带chart图表