Python高级编程day2.三大特征

三大特征

继承的概念

生活中的继承,一般指的是子女继承父辈的财产

继承的好处:节省代码量

class Person:

 # 初始化方法

 def __init__(self, name, age, sex):

 # 添加属性

 self.name = name

 self.age = age

 self.sex = sex

 def play(self):

 print(f'{self.name}打王者')

# 括号里面的类,表示继承的是哪个类

# 继承Person类之后,就拥有person类里面所有的属性和方法

class SiChuan(Person):

 def eat(self):

 print('四川人爱吃火锅')

class GuanDong(Person):

 def play(self):

 print("广东人爱喝茶")

ayan = SiChuan('阿言', 18, 'female')

print(ayan.name)

ayan.play()

ayan.eat()

重用

子类重新定义父类的方法,让同一种方法具有不同的行为

class Person:

 # 初始化方法

 def __init__(self, name, age, sex):

 # 添加属性

 self.name = name

 self.age = age

 self.sex = sex

def play(self):

 print(f'{self.name}打王者')

# 括号里面的类,表示继承的是哪个类

class SiChuan(Person):

 def eat(self):

 print('四川人爱吃火锅')

 def play(self):

 # 重用:子类重新定义父类的方法,让同一种方法具有不同行为

 # 第一种方法

 super().play()

 print('四川人爱打麻将')

class GuanDong(Person):

 def play(self):

 # 方法二,不推荐

 Person.play(self)

 print("广东人爱喝茶")

ayan = SiChuan('阿言', 18, 'female')

# print(ayan.name)

# ayan.play()

# ayan.eat()

ayan1 = GuanDong('阿言1', 18, 'femal')

ayan1.play()

多继承

一个类里面继承多个类,多继承要遵循就近原则

class Person(object):

 # 初始化方法

 def __init__(self, name, age, sex):

 # 添加属性

 self.name = name

 self.age = age

 self.sex = sex

 def eat(self):

 print(f'{self.name}打王者')

# 括号里面的类,表示继承的是哪个类

class SiChuan(Person):

   def eat(self):

 print('四川人爱吃火锅')

 def play(self):

 print('四川人爱打麻将')

class GuanDong(Person):

 def eat(self):

 super().eat()

 print("广东人爱吃肠粉")

 def play(self):

 print("广东人爱喝茶")

class Hunxue(GuanDong,SiChuan):

 # pass 代表类里面任何属性和方法 保证结构的完整性

 pass

hunxue = Hunxue('混血', 1, 'female')

print(hunxue.name)

hunxue.eat()

# print(Hunxue.__base__) # 查看类继承的第一个类

print(Hunxue.__bases__) # 查看类继承的所有类

print(Hunxue.mro()) # 查看类继承的继承顺序

class Base:

 def eat(self):

 print('base')

class A(Base):

 def eat(self):

 super().eat()

 print("A")

class B(Base):

 def eat(self):

 super().eat()

 print('B')

class C(A,B):

 def eat(self):

 print("C")

 super().eat()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中国第一深情

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值