python面向对象之继承

一 .子类类型使用父类数据

    1. 子类中访问父类的方法
          super().方法名称()
     2. 子类的__init__()方法
          如果子类中不写__init__()方法,直接使用父类的__init__()方法初始化数据
          什么时候子类写自己的__init__()方法,子类中出现独立属性时!
     3. 子类中可以重新定义从父类中继承的方法【方法名称和方法参数一致】:方法重写
          方法重写:子类中重写父类中已经存在的方法
           在执行过程中~如果子类中重写了方法,执行子类的方法,如果没有重写则执行父类中的方法

class Person:

    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    def say(self):
        print(self.name, "好好学习,天天向上")

    def play(self):
        print(self.name, "出门打麻将")

    def sleep(self):
        print(self.name, "嗨什么嗨,快去睡觉")

class Child(Person):

    def __init__(self, name, age, gender, email, phone):
        super().__init__(name, age, gender)
        self.email = email
        self.phone = phone

    def speek(self):
        """子类的方法"""
        # 访问父类的属性和方法
        super().say()

    def play(self):
        print(self.name, "搭积木.........")

c = Child("tom", 18, "男", "youxiang@163.com", "13993886625")
c.speek()  # tom 好好学习,天天向上
print(c.email)  #youxiang@163.com
c.play()  # tom 搭积木........

p = Person("jerry", 20, "女")
p.play()  # jerry 出门打麻将

二.python中的多继承

class Son:

    def xiao_shun(self):
        print("百善孝为先")

class Student:

    def xue_xi(self):
        print("好好学习,天天向上")

class Friend:

    def play(self):
        print("吃喝玩乐.....")

class Person(Son, Student, Friend):
    """人的类型:继承儿子、学生、朋友"""
    pass


p = Person()
# 家庭环境
if isinstance(p, Son):
    p.xiao_shun()  # 百善孝为先
# 学习环境中
if isinstance(p, Student):
    p.xue_xi()  # 好好学习,天天向上
# 朋友
if isinstance(p, Friend):
    p.play()  # 吃喝玩乐......

def xue_tang(person):
    # 作为一个学员,在教室要好好学习
    if isinstance(person, Student):
        # person.play()
        person.xue_xi()

xue_tang(p)  # 好好学习,天天向上

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值