简述类的继承

电子说

1.2w人已加入

描述

类的继承:一个类继承另一个类,自动拥有这个类的属性和方法,类似于包含与被包含的关系。被继承的类称为父类--子类则是继承父类的类。一个父类可以有多个子类;一个子类可以有多个父类(多继承)

问题

创建子类时,要是直接进行调用,系统会报错,必须对子类进行实例化。那要如何对子类进行实例化呢?

方法

首先先创造父类,将其属性定义,然后创建多个子类(格式子类(父类)),接着对子类实例化,在对子类实例化时也要将属性补充完整。

代码清单

错误示范:

#父类:将所有类的公共属性和方法进行统一定义

class Dad():

def init (self,greet,demandmoney):

print('老爸我没生活费了!')

self.greet=greet

self.demandmoney=demandmoney

def f(self):

print('{}今天你很帅,{}'.format(self.greet,self.demandmoney))

def ff(ff):

print('我没钱耍朋友了')

#子类(父类):可继承父类所有属性

class Girl(Dad):

pass #mean do nothing 但是仍然拥有父类的属性和方法

class Son(Dad):

pass #mean do nothing

a=Girl()

a.ff()

a.f()

运行结果:Traceback (most recent call last):

File "D:/123456/编程456.py", line 16, in

a=Girl()

TypeError: Dad. init () missing 2 required positional arguments: 'greet' and 'demandmoney'

正确代码:

#父类:将所有类的公共属性和方法进行统一定义

class Dad():

def init (self,greet,demandmoney):

print('老爸我没生活费了!')

self.greet=greet

self.demandmoney=demandmoney

def f(self):

print('{}今天你很帅,{}'.format(self.greet,self.demandmoney))

def ff(ff):

print('我没钱耍朋友了')

#子类(父类):可继承父类所有属性

class Girl(Dad):

pass #mean do nothing 但是仍然拥有父类的属性和方法

class Son(Dad):

def son(self):#子类可以拥有自己的属性与方法

print('老爸我想多一点生活费')

#a=Girl()

#a.ff()

#a.f()

#创建对象(将子类进行实类化)

a=Girl('老爸早上好',1500)

a.ff()

a.f()

b=Son('老爸早上好',2000)

b.ff()

b.f()

b.son()

打印结果 :老爸我没生活费了!

我没钱耍朋友了

老爸早上好今天你很帅,1500

老爸我没生活费了!

我没钱耍朋友了

老爸早上好今天你很帅,2000

老爸我想多一点生活费

结语

通过此次实验,我们更加了解了类的继承,以及要对子类实例化,对其实例化时也要将属性补充完整。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分