20201202_102.继承

首页 » Python » 正文

继承

继承是面向对象程序设计的重要特征,也是实现“代码复用”的重要手段。
如果一个新类继承自一个设计好的类,就直接具备了已有类的特征,就减少了体系设计工作,也大大降低了代码工作量。已有的类,我们称为“父类或者基类”,新的类,我们称为“子类或者派生类”。
20201202_102.继承

语法格式

Python 支持多重继承,一个子类可以继承多个父类。继承的语法格式如下:

class 子类类名(父类 1[,父类 2,...]):
    类体

如果在类定义中没有指定父类,则默认父类是 object 类。也就是说,object 是所有类的父类,里面定义了一些所有类共有的默认实现,比如__new__()。

定义子类时,必须在其构造函数中调用父类的构造函数。调用格式如下:

    父类名.__init__(self, 参数列表)

【案例】

class Person:

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

    def say_age(self):
        print('{}的年龄是:{}'.format(self.name, self.__age))


class Student(Person):

    def __init__(self, name, age, score):
        self.score = score
        Person.__init__(self, name, age)  # 构造构造函数中包含调用父类构造函数,根据需要,不是必须。子类并不会自动调用父类的__init__(),必须显式地调用它。


s1 = Student('Michael', 21, 88)
s1.say_age()  # 但是方法会自动继承,不需要显示操作。
print(dir(s1))
print(s.age)

运行结果:
20201202_102.继承
说明:
根据上例的代码和运行结果可知,父类的属性和方法确实被子类继承了。但除了代码中注释的内容外,还要注意父类的私有属性和方法是不能被子类直接使用的,要不通过父类的方法来使用,或者用“_父类名称__私有属性(方法)名”来调用。

未经允许不得转载:作者:1324-易同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《20201202_102.继承》 发布于2020-12-03

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录