博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python面向对象学习
阅读量:3972 次
发布时间:2019-05-24

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

文章目录

1.1基础

1.对象:对象是数据和功能(函数)的集合体

2. 类:类是具有共同属性(数据、函数)的对象的总称
:先定义类后实例化对象
3. 属性访问:可以通过__dict__访问属性的值
4. 属性查找和方法绑定:对象的名称空间里只存放着对象独有的属性,而对象们相似的属性是存放于类中的。对象在访问属性时,会优先从对象本身的__dict__中查找,未找到,则去类的__dict__中查找

1.2封装

1.隐藏属性(__)

2.开放接口
3.property

1.3继承和派生

1.通过类的内置属性__bases__可以查看类继承的所有父类

2.属性查找

3.广度优先

4.Pyton Mixins机制

5.子类可以派生出自己新的属性,在进行属性查找时,子类中的属性名会优先于父类被查找

6.组合

1.4多态和鸭子类型

1.多态指的是一类事物有多种形态

2.多态性的本质在于不同的类中定义有相同的方法名,这样我们就可以不考虑类而统一用一种方式去使用对象,可以通过在父类引入抽象类的概念来硬性限制子类必须有某些方法名

import abc# 指定metaclass属性将类设置为抽象类,抽象类本身只是用来约束子类的,不能被实例化class Animal(metaclass=abc.ABCMeta):    @abc.abstractmethod # 该装饰器限制子类必须定义有一个名为talk的方法    def talk(self): # 抽象方法中无需实现具体的功能        passclass Cat(Animal): # 但凡继承Animal的子类都必须遵循Animal规定的标准    def talk(self):        passcat=Cat() # 若子类中没有一个名为talk的方法则会抛出异常TypeError,无法实例化

3.只需要制造出外观和行为相同对象,同样可以实现不考虑对象类型而使用对象,这正是Python崇尚的“鸭子类型”(duck typing

转载地址:http://zfxki.baihongyu.com/

你可能感兴趣的文章
禁止所有的中断(关中断/开中断)
查看>>
禁止所有的中断(关中断/开中断)
查看>>
S3C2410:DMA介紹(精)
查看>>
S3C2410:DMA介紹(精)
查看>>
S3C2410 Linux IIS音频设备驱动分…
查看>>
S3C2410 Linux IIS音频设备驱动分…
查看>>
s3c2410的dma操作的一般步骤
查看>>
s3c2410的dma操作的一般步骤
查看>>
s3c2440 spi驱动DMA模式
查看>>
s3c2440 spi驱动DMA模式
查看>>
编写的dm9000ep驱动(2.6.13)
查看>>
编写的dm9000ep驱动(2.6.13)
查看>>
DM9000 驱动移植及源码简析
查看>>
DM9000 驱动移植及源码简析
查看>>
创建字符设备的三种方法 (转载)
查看>>
Linux下ARM汇编教程
查看>>
Linux下ARM汇编教程
查看>>
linux面试题参考答案
查看>>
LINUX驱动之IIC子系统之三I2C的数…
查看>>
LINUX驱动之IIC子系统之三I2C的数…
查看>>