日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python繼承

 融水公子 2019-07-04

講解對(duì)象:Python繼承

作者:融水公子 rsgz


特點(diǎn):

1 當(dāng)一個(gè)類繼承另一個(gè)類時(shí),它將繼承父類的所有功能(如變量和方法)


優(yōu)點(diǎn):

1 有助于重用代碼


實(shí)現(xiàn)想法:

1 一個(gè)Person父類

2 下面有兩個(gè)子類 Student  Teacher


Person父類

#!/usr/bin/env python3

class Person(object):

    """返回具有給定名稱的 Person 對(duì)象"""

    def __init__(self, name):

        self.name = name


    def get_details(self):

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

        return self.name


Student類

class Student(Person):

    """返回 Student 對(duì)象,采用 name, branch, year 3 個(gè)參數(shù)"""

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

        Person.__init__(self, name)

        self.branch = branch

        self.year = year


    def get_details(self):

    """返回包含學(xué)生具體信息的字符串"""

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


 Teacher類

class Teacher(Person):

    """返回 Teacher 對(duì)象,采用字符串列表作為參數(shù)"""

    def __init__(self, name, papers):

        Person.__init__(self, name)

        self.papers = papers


    def get_details(self):

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


調(diào)用:

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())


發(fā)現(xiàn)

1 Student 類和 Teacher 類中調(diào)用 Person 類的 __init__ 方法

2 在 Student 類和 Teacher 類中重寫了 Person 類的 get_details() 方法

3 調(diào)用 student1 和 teacher1 的 get_details() 方法時(shí),使用的是各自類中定義的方法

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多