博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 学习笔记 -- 继承与多态(入门级实例)
阅读量:6071 次
发布时间:2019-06-20

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

1 #继承 2 #假设有不同品种的鱼,它们的蛋白质含量都不同,那么我们吃掉这些鱼获得的效果也应该不同 3 #----------------------------------------------------------------------- 4 #实例一:主要演示简单的多态,简单的单继承 5  6 #所有鱼的基类 7 class Fish: 8     def __init__(self, calorie): 9         self.calorie = calorie10 11     def get_calorie(self):12         return self.calorie13 14 15 #鲤鱼16 class Carp(Fish):17     def __init__(self):18         Fish.__init__(self,10)19     20 21 #三文鱼22 class Salmon(Fish):23     def __init__(self):24         Fish.__init__(self,20)25 26 #鱿鱼27 class Sleeve(Fish):28     def __init__(self):29         Fish.__init__(self,15)  30 31 #爱吃鱼的猫32 class Cat:33     def eat_fish(self,fish):34         print("真好吃,我获得了%d点卡路里!" % fish.get_calorie())35 36 #先实例化一个对象37 cat = Cat()38 cat.eat_fish(Carp()) #喂它一只鲤鱼39 cat.eat_fish(Salmon()) #喂它一只三文鱼40 cat.eat_fish(Sleeve()) #喂它一只鱿鱼41 42 #而继承,其实就是将基类的属性或者方法赋予派生类43 #这边是多态,可以对不同类的对象调用相同的方法,产生不同的结果44 #这里值得注意的是,在Python中,变量是动态创建的,不像C++静态创建。45 #所以需要注意,当重写父类的__init__方法是,需要调用父类类对象__init__方法46 47 #-----------------------------------------------------------------------48 #-----------------------------------------------------------------------49 #实例二:主要是多重继承50 class BaseOne:51     def fun_one(self):52         print("fun-one")53 54 55 class BaseTwo:56     def fun_two(self):57         print("fun-two")58 59 class DeriveClass(BaseOne,BaseTwo):60     pass61 62 63 test = DeriveClass()64 test.fun_one()65 test.fun_two()66 #-----------------------------------------------------------------------

 

转载于:https://www.cnblogs.com/jiangchenxi/p/8058604.html

你可能感兴趣的文章
30个优秀旅游网站案例
查看>>
一张有趣的图--《teach yourself c++ in 21 days》
查看>>
grub4dos初级教程-入门篇(Z)
查看>>
c++ 字典排序 并统计字符串个数
查看>>
短文本合并重复(去重)的简单有效做法
查看>>
往数据库中插入不定数量的数据
查看>>
【分布计算环境学习笔记】7 语义Web
查看>>
只允许对象生成于堆内
查看>>
尝试Razor
查看>>
CRC16
查看>>
一步一步学习Vim 全图解释
查看>>
CPU,MPU,MCU,SOC,SOPC联系与差别
查看>>
公众号我也快看不下去了
查看>>
升级WebService图形服务,将K10.2和K10.3写到一个类库,所有服务放在一个类库
查看>>
[转] HTC:html组件
查看>>
编写高质量代码改善java程序的151个建议——导航开篇
查看>>
解剖SQLSERVER 第九篇 OrcaMDF现在能通过系统DMVs显示元数据(译)
查看>>
MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
查看>>
使用STM8SF103 ADC采样电压(转)
查看>>
PictureCutting图片批量裁切(裁剪)工具
查看>>