打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python继承

讲解对象:Python继承

作者:融水公子 rsgz


特点:

1 当一个类继承另一个类时,它将继承父类的所有功能(如变量和方法)


优点:

1 有助于重用代码


实现想法:

1 一个Person父类

2 下面有两个子类 Student  Teacher


Person父类

#!/usr/bin/env python3

class Person(object):

    """返回具有给定名称的 Person 对象"""

    def __init__(self, name):

        self.name = name


    def get_details(self):

        """返回包含人名的字符串"""

        return self.name


Student类

class Student(Person):

    """返回 Student 对象,采用 name, branch, year 3 个参数"""

    def __init__(self, name, branch, year):

        Person.__init__(self, name)

        self.branch = branch

        self.year = year


    def get_details(self):

    """返回包含学生具体信息的字符串"""

        return "{} studies {} and is in {} year.".format(self.name, self.branch, self.year)


 Teacher类

class Teacher(Person):

    """返回 Teacher 对象,采用字符串列表作为参数"""

    def __init__(self, name, papers):

        Person.__init__(self, name)

        self.papers = papers


    def get_details(self):

        return "{} teaches {}".format(self.name, ','.join(self.papers))


调用:

person1 = Person('Sachin')

student1 = Student('Kushal', 'CSE', 2005)

teacher1 = Teacher('Prashad', ['C', 'C++'])

print(person1.get_details())

print(student1.get_details())

print(teacher1.get_details())


发现

1 Student 类和 Teacher 类中调用 Person 类的 __init__ 方法

2 在 Student 类和 Teacher 类中重写了 Person 类的 get_details() 方法

3 调用 student1 和 teacher1 的 get_details() 方法时,使用的是各自类中定义的方法

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
python self、类、构造和析构方法 简单学习
Python笔记 class中的
深入理解python之self
python限定类属性的类属性:
[每日一题]7、Python中的super()函数
从零开始学self:Python中的self关键字解析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服