拜师——python基础入门—第8大节课—类: 继承——day36

第109课时: 类; 继承


继承:

继承是 代码复用 的重要手段。

一个新设计好的 继承自一个之前 已经设计好的类 就直接具备之前类的特征, 大大降低了难度。

已有的类:
父类 基类。

新的类:
子类、派生类。
在这里插入图片描述


语法格式:

继承格式:

 Class 子类名称(父类1【,父类2.。。】)

     类体

一个子类可以有多个直接的父类。

在这里插入图片描述

定义子类属性时,必须在其构造函数中调用父类的构造函数。

调用格式如下:
父类名.init(self,参数列表)

测试:

class man:

    def __init__(self,name,age):
        self.__name= name
        self.__age= age

    def say_age(self):
        print('年龄是',self.__age)

class student(man):
    def __init__(self,name,age,score):
        man.__init__(self,name,age)
        self.score= score
    def get_score(self):
        print(self.score)

s = student('wlz',18,100)
s.say_age()
s.get_score()

年龄是 18
100

Man 是父类, student 是子类。 可以看到该有的都有
可以直接调用父类的方法。

class student(man):
	def __init__(self,name,age,score):
		man.__init__(self,name,age)       
		self.score = score

这一段是定义子类属性,

  **man.__init__(self,name,age)** 

这句话是直接调用父类属性的定义。

 self.score = score  

是 定义子类特有的属性。


测试 调用 私有对象:

class man:

    def __init__(self,name,age):
        self.__name= name
        self.__age= age

    def say_age(self):
        print('年龄是',self.__age)



class student(man):
    def __init__(self,name,age,score):
        man.__init__(self,name,age)
        self.score= score

    def get_score(self):
        print(self.score)


s = student('wlz',18,100)
print(s._student__age)

出错

由于 age 是在 man 父对象 中定义的私有属性,所以age是调用不了的。

调用父类的私有属性,必须加上父类名称。

class man:

    def __init__(self,name,age):
        self.__name= name
        self.__age= age

    def say_age(self):
        print('年龄是',self.__age)

class student(man):
    def __init__(self,name,age,score):
        man.__init__(self,name,age)
        self.score= score
    def get_score(self):
        print(self.score)

s = student('wlz',18,100)
print(s._man__age)

18

这样就正确了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值