05類與對象

類與對象

定義類

初始化函數中,self後面的是實例化對象的屬性。

加下劃線代表這個屬性是私有的,不應該被外界直接訪問

class Person:
    def __init__(self, name, age):
        self._name = name
        self._age = age

    def hello(self):
        print("My name is {}, age is {}".format(self._name, self._age))


person = Person("xiaobai")
person.hello()

繼承

class Student(Person):
    # pass # 表示什麼也不做, 佔位而已
    def set_score(self, score):
        self._score = score

    def get_score(self):
        return self._score

    @property
    def grade(self):
        return self._grade

    def set_grade(self, grade):
        self._grade = grade


student = Student("xiaoming", 7)
student.hello()
student.set_score(100)
print(student.get_score())
student.set_grade("三年級")
print(student.grade)

代碼

print("--------------- 定義類 ---------------")


class Person:
    def __init__(self, name, age):
        self._name = name
        self._age = age

    def hello(self):
        print("My name is {}, age is {}".format(self._name, self._age))


person = Person("xiaobai", 18)
person.hello()
print("--------------- 繼承 ---------------")


class Student(Person):
    # pass # 表示什麼也不做, 佔位而已
    def set_score(self, score):
        self._score = score

    def get_score(self):
        return self._score

    @property
    def grade(self):
        return self._grade

    def set_grade(self, grade):
        self._grade = grade


student = Student("xiaoming", 7)
student.hello()
student.set_score(100)
print(student.get_score())
student.set_grade("三年級")
print(student.grade)

"""
輸出:
--------------- 定義類 ---------------
My name is xiaobai, age is 18
--------------- 繼承 ---------------
My name is xiaoming, age is 7
100
三年級
"""

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章