博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 多继承
阅读量:5249 次
发布时间:2019-06-14

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

  1. 多继承:(通过继承子类实现父类的功能)

  Animal 可能有不同的分类:

  Animal ------Mammal

      ------Bird

   Animal ------run

              ------fly

  对于每个动物 Dog,Cat ,Parrot可能 第一种分类,也可能同时继承第二种分类。笨方法是定义RunMammal,FlyMammal,FlyBird。但是需要更多分类时,显然不合理。------多继承

  首先,主要的类层次

  

class Animal(object):    passclass Mammal(Animal):    passclass Bird(Animal):    pass

然后,设计功能类:

class Run(object):    def run(self):        print('Running')        class Fly(object):    def fly(self):        print('Flying')

最后,子类:

class Dog(Mammal,Run):    pass

这就实现了多重继承,这种设计方法称为MixIn。

 

 

 

转载于:https://www.cnblogs.com/fanhaha/p/6905435.html

你可能感兴趣的文章
linux 将子文件夹的文件复制到 当前目录中
查看>>
新知道一个 端对端加密 Signal protocol
查看>>
Docker的镜像 导出导入
查看>>
wordpress 获取所有管理员的邮箱
查看>>
学习mysql水平分区和实践笔记
查看>>
Laravel Illuminate\Http\Exceptions\PostTooLargeException
查看>>
SQLSTATE[HY000]: General error: 1366 Incorrect string value
查看>>
phpStorm 激活
查看>>
win7 ss 启动缺少文件
查看>>
Chrome DNS_PROBE_FINISHED_NXDOMAIN
查看>>
Yii2 在php 7.2环境下运行,提示 Cannot use ‘Object’ as class name
查看>>
Ionic POST提交使用普通表单提交数据
查看>>
vue type check failed for prop . Expected Number, got String
查看>>
vagrant 导入已导出的包
查看>>
[笔记]Laravel TDD 胡乱记录
查看>>
swagger.yaml转换为swagger.json文件
查看>>
Linux sed -i 字符串替换
查看>>
学习修复Laravel The only supported ciphers are AES-128-CBC and AES-256-CBC
查看>>
git 去除本地所有没有保存的修改
查看>>
PHP Catchable fatal error: Argument 2 passed to Illuminate\Routing\UrlGenerator::__construct()
查看>>