程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

零基础学Python系列——类的继承

hfteth 2025-01-08 17:33:10 技术文章 22 ℃

没有基础能不能学会Python?二胎妈妈准备挑战一下,这是我学习Python的第21天,今天开始记录我的学习内容,方便记忆和复习。

今天学习的主题为类的继承

什么叫类的继承:创建一个新的类(称为子类或派生类)时,可以从已有的类(称为父类或基类)那里继承属性和方法。且子类可以重用、扩展或者覆盖父类的功能。

类的继承格式:【class 新类名(父类名):】

需要注意的事项:

1. 子类可以使用父类的所有非私有成员(属性和方法)(什么叫私有成员?名称以两个下划线__开始的属性和方法,注意前后均有两个下划线的方法如__str__(),不是私有方法是特殊方法)

2. 子类可以从父类继承属性和方法,并再此基础上添加新的属性和方法,或者修改已有属性和方法。

3. 子类一旦复写父类成员后,若要调用原父类的成员,可以通过父类名.成员变量或super().成员变量来调用父类属性、通过父类名.成员方法(self)或super().成员变量方法来实现。

4. 可以通过【class 新类名(父类名1,父类名2):】来实现对多个类的继承,若父类名1,父类名2中有同名的属性和方法,则继承在前面的那个父类。

代码实现:

# 父类
class Dad:
# 私有属性,子类不能使用
__firstname="Tom"
surname="Liu"
# 私有方法,子类不能使用
def __bobby(self):
return "swimming"
def living(self):
return "castle"
# 父类
class Mom():
__firstname =
"nancy"
surname = "Dai"
def Vehicle(self):
return "car"
# 定义子类
class Son(Dad,Mom):
# 复写父类living,并调用原父类living
def living(self):
return "以前:" + super().living() + "现在:Another castle"
class daughter(Dad,Mom):
# 复写父类Vehicle,并调用原父类Vehicle
def Vehicle(self):
# 注意此处调用Mom的Vehicle方法必须加上self,否则会报错
return "以前:"+Mom.Vehicle(self)+"现在:Another car "
son=Son()
daughter=daughter()
print(f"姓:{son.surname},住宅:{son.living()},交通工具:{son.Vehicle()}")
print(f"姓:{daughter.surname},住宅:{daughter.living()},交通工具:{daughter.Vehicle()}")

运行结果:

姓:Liu,住宅:以前:castle现在:Another castle ,交通工具:car

姓:Liu,住宅:castle,交通工具:以前:car现在:Another car

Tags:

最近发表
标签列表