レコード#
今日、私はオブジェクト指向プログラミング(OOP)を学びました。オブジェクト指向プログラミングでは、まずクラスを作成する必要があります。キーワードclass
の後にクラス名を記述します。このクラスを使用する必要がある場合、それをインスタンス化と呼びます。
オブジェクト自体はテンプレートであり、具体的な実行意味を持ちません。インスタンス化された後、オブジェクトは具体的な価値を持ちます。サブクラスは親クラスの情報を継承し、それを基に拡張することができます。
今日の宿題として、Job
という名前のクラスを作成しました。これはLawyer
から呼び出されます。同時に、Teacher
とDoctor
のサブクラスも作成しました。これらはJob
クラスの情報を継承し、それを基に拡張しました。
CODE#
class job:
name = None
salary = None
hours = None
def __init__(self, name, salary, hours):
self.name = name
self.salary = salary
self.hours = hours
def print(self):
print(f"{self.name} > {self.salary} > {self.hours}")
class doctor(job):
speciality = None
years = None
def __init__(self, name, salary, hours, speciality, years):
self.name = name
self.salary = salary
self.hours = hours
self.speciality = speciality
self.years = years
def print(self):
print(
f"{self.name} > {self.salary} > {self.hours} > {self.speciality} > {self.years}"
)
class teacher(job):
subject = None
position = None
def __init__(self, name, salary, hours, subject, position):
self.name = name
self.salary = salary
self.hours = hours
self.subject = subject
self.position = position
def print(self):
print(
f"{self.name} > {self.salary} > {self.hours} > {self.subject} > {self.position}"
)
laywer = job("张三", "1万", "8小时")
doctor1 = doctor("李四", "2万", "9小时", "儿科", "十年")
teacher1 = teacher("王五", "3万", "10小时", "计算机", "教授")
laywer.print()
doctor1.print()
teacher1.print()