欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python类的继承-1

发布时间:2025/5/22 python 204 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python类的继承-1 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
1 #!/usr/bin/python3 2 3 #类定义 4 class people: 5 #定义基本属性 6 name = '' 7 age = 0 8 #定义私有属性,私有属性在类外部无法直接进行访问 9 __weight = 0 10 #定义构造方法 11 def __init__(self,n,a,w): 12 self.name = n 13 self.age = a 14 self.__weight = w 15 def speak(self): 16 print("%s 说: 我 %d 岁。" %(self.name,self.age)) 17 18 #单继承示例 19 class student(people): 20 grade = '' 21 def __init__(self,n,a,w,g): 22 #调用父类的构函,否则继承自people的student将没有n、a、w属性!!!!!!!!!!!!!!! 23 people.__init__(self,n,a,w)# 24 self.grade = g 25 #覆写父类的方法 26 def speak(self): 27 print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade)) 28 29 30 31 s = student('ken',10,60,3) 32 s.speak()

结果是:

 

若是上述代码没有第23行,代码如下:

1 #!/usr/bin/python3 2 3 #类定义 4 class people: 5 #定义基本属性 6 name = '' 7 age = 0 8 #定义私有属性,私有属性在类外部无法直接进行访问 9 __weight = 0 10 #定义构造方法 11 def __init__(self,n,a,w): 12 self.name = n 13 self.age = a 14 self.__weight = w 15 def speak(self): 16 print("%s 说: 我 %d 岁。" %(self.name,self.age)) #其实也可以用people.age访问类属性,但是此时实例化后调用此句时类属性age的值为0。 17 18 #单继承示例 19 class student(people): 20 grade = '' 21 def __init__(self,n,a,w,g): 22 #调用父类的构函 23 #people.__init__(self,n,a,w) 24 self.grade = g 25 #覆写父类的方法 26 def speak(self): 27 print("%s 说: 我 %d 岁了,我在读 %d 年级"%(self.name,self.age,self.grade)) 28 29 30 31 s = student('ken',10,60,3) 32 s.speak()

结果为:

name为空,age为0,这不是直接继承的父类people的属性   name = ''    age = 0    么,也就是第31行 

s = student('ken',10,60,3) name和age只是传递到了子类student中,子类由于继承了父类的属性和方法,但父类的初始化(构造函数)函数却没有被自动执行。

 


 








参考:
http://blog.csdn.net/goodluckac/article/details/53100957
http://www.runoob.com/python3/python3-class.html

转载于:https://www.cnblogs.com/zhubinglong/p/6935295.html

总结

以上是生活随笔为你收集整理的python类的继承-1的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。