一,继承

class Person(object):def __init__(self, name, sex):self.name = nameself.sex = sexdef print_title(self):if self.sex == "male":print("man")elif self.sex == "female":print("woman")class Child(Person):  # Child 继承 PersonpassLice = Child("Lice", "female")
Peter = Person("Peter", "male")print(Lice.name, Lice.sex, Peter.name, Peter.sex)  # 子类继承父类方法及属性
Lice.print_title()
Peter.print_title()

二,多态,重写父类方法

class Person(object):def __init__(self, name, sex):self.name = nameself.sex = sexdef print_title(self):if self.sex == "male":print("man")elif self.sex == "female":print("woman")class Child(Person):  # Child 继承 Persondef print_title(self):if self.sex == "male":print("boy")elif self.sex == "female":print("girl")Lice = Child("May", "female")
Peter = Person("Peter", "male")print(Lice.name, Lice.sex, Peter.name, Peter.sex)
Lice.print_title()
Peter.print_title()

三,子类重写构造函数

class Person(object):def __init__(self,name,sex):self.name = nameself.sex = sexclass Child(Person):                # Child 继承 Persondef __init__(self,name,sex,mother,father):self.name = nameself.sex = sexself.mother = motherself.father = fatherLice = Child("Lice","female","Haly","Peter")
print(Lice.name,Lice.sex,Lice.mother,Lice.father)

四,父类构造函数包含很多属性,子类仅需新增1、2个,会有不少冗余的代码,这边,子类可对父类的构造方法进行调用

class Person(object):def __init__(self,name,sex):self.name = nameself.sex = sexclass Child(Person):                          # Child 继承 Persondef __init__(self,name,sex,mother,father):Person.__init__(self,name,sex)        # 子类对父类的构造方法的调用self.mother = motherself.father = father# self.name='haha'Lice = Child("Lice","female","Haly","Peter")
print(Lice.name,Lice.sex,Lice.mother,Lice.father)

五,多重继承,新建一个类 baby 继承 Child , 可继承父类及父类上层类的属性及方法,优先使用层类近的方法,

#coding:utf-8
class Person(object):def __init__(self, name, sex):self.name = nameself.sex = sexdef print_title(self):if self.sex == "male":print("man")elif self.sex == "female":print("woman")class Child(Person):passclass Baby(Child):passLice = Baby("Lice", "female")  # 继承上上层父类的属性
print(Lice.name, Lice.sex)
Lice.print_title()  # 可使用上上层父类的方法print('==================')
class Child(Person):def print_title(self):if self.sex == "male":print("boy")elif self.sex == "female":print("girl")class Baby(Child):passLice2 = Baby("Lice2", "female")
print(Lice2.name, Lice2.sex)
Lice2.print_title()  # 优先使用上层类的方法

python的继承与多态相关推荐

  1. python的继承和多态

    什么是继承? 在生活中,大家都应该听过这个词,比如儿子继承他老子的财产,那么在python中也有继承,但是有不少人比较难理解继承这个东西. 在python,所有的类都默认继承object类,因此obj ...

  2. python中继承和多态

    继承和多态 继承 引入继承 我们有这样一个需求 模仿英雄联盟定义两个英雄类1.英雄要有昵称.攻击力.生命值属性2.实例化出两个英雄对象3.英雄之间可以互殴,被殴打的一方掉血,血量小于0则判断为死亡 那 ...

  3. python完全支持面向对象编程思想_面向对象的编程思想和Python的继承和多态,特殊方法,引用计数...

    面向对象的编程思想和Python的类,访问和属性,继承 在上一文中我们了解到了,私有的属性的访问方式:实例名._类名__私有属性名. 一.私有的属性如何对外提供公有的取值和赋值方法呢?提供公有的方法作 ...

  4. Python基础——继承、多态

    文章目录 一.slots 二.私有属性和私有方法 三.继承 1.私有属性.私有方法 2.继承的特点(多层继承) 3.新式类和经典类 四.方法的重写 五.多态 一.slots __slots__属性对应 ...

  5. Python中的继承和多态

    本文以生活中的基础现象为切入点,主要介绍了Python基础中继承和多态,包括单继承.多继承的语法.多态常见的 "鸭子类型". 以及如何重写父类的方法都做了详细的讲解. 一.继承的介 ...

  6. python 继承和多态

    python 继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Ba ...

  7. Python面对对象编程——结合面试谈谈封装、继承、多态,相关习题详解

    1.面向对象的三大特征 封装:属性和方法放到类内部,通过对象访问属性或者方法,隐藏功能的实现细节.当然还可以设置访问权限; 继承:子类需要复用父类里面的属性或者方法,当然子类还可以提供自己的属性和方法 ...

  8. 【Python】Python语言学习:面向对象编程,类和对象,封装、继承和多态

    这一周Python语言学习,记录如下. 01 面向对象编OOP 1.1 为什么学习和应用OOP? 1 OOP适合更加复杂的需求分析和项目开发. 2 OOP具有更强大的封装能力. 3 OOP相比于面向过 ...

  9. python多态_Python 简明教程 21,Python 继承与多态

    程序不是年轻的专利,但是,它属于年轻. 目录 目录 我们已经知道封装,继承和多态 是面向对象的三大特征,面向对象语言都会提供这些机制. 1,封装 在这一节介绍类的私有属性和方法的时候,我们已经讲到过封 ...

最新文章

  1. RH442-10 内存回收之二
  2. 网元查看一个无厘头的core dump问题定位
  3. 以下输出结果为16的python_作业 -- 几道简单的Python题
  4. redis:RDM连接阿里云redis服务器
  5. html中调用flex中的函数
  6. 复现经典:《统计学习方法》第19章 马尔可夫链蒙特卡罗法
  7. laravel大型项目系列教程(四)之显示文章列表和用户修改文章
  8. 具有Java Kickstart的MongoDB
  9. 数学歌单:数学虐我千百遍,让我至今没初恋
  10. 大数据、数据挖掘、机器学习与模式识别的关系
  11. oracle 学习日志 ----Oracle时间加减
  12. Google PR 到4了
  13. VmPlayer 无法启动解决方法一例
  14. 5 步教你将 MRS 数据导入 DWS
  15. shell脚本教程--Bash shell--4.流控、循环
  16. 计算机科学与技术有几大类,计算机科学与技术类包括哪些专业
  17. mr.baidu.com百度官方缩短网址接口网站调用生成制作方法解析
  18. 微信小程序:宝宝起名神器微信小程序
  19. 5G套餐资费会越来越便宜,但需注意“限速机制”
  20. Hibit Uninstall 批量的软件卸载,强制卸载

热门文章

  1. AcWing之重建二叉树
  2. 从前,有只小仙女叫...
  3. Spring Boot自动化配置的利弊及解决之道
  4. Spring Cloud Zuul重试机制探秘
  5. 论文浅尝 | 多内容实体和关系联合抽取的对抗训练
  6. urllib.request.urlopen(req).read().decode解析http报文报“‘utf-8‘ codec can‘t decode”错处理
  7. 金融时报:人工智能在银行中的应用—对全球30家大型银行的调查
  8. 斯坦福NLP组最新报告:自然语言处理中的学习挑战(附149页报告全文下载
  9. 笔记:企业内部因素评价
  10. zz -- QQ圈子感想