類與對象
定義類
初始化函數中,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
三年級
"""