Pemrograman Berorientasi Objek Tingkat Menengah di Python
Jake Roach
Data Engineer
Kelas dasar abstrak membuat cetak biru untuk kelas dengan mendefinisikan metode abstrak yang wajib diimplementasikan oleh semua turunan
@abstractmethodclass School:
# Lakukan hal seperti enroll
# dan menambah mata kuliah
class MiddleSchool:
# Main alat musik, gabung klub
# tapi harus enroll dan tambah mata kuliah
class HighSchool:
# Main olahraga varsity, daftar
# kuliah, tapi harus enroll
# dan tambah mata kuliah
from abc import ABC, abstractmethod# Buat kelas dasar abstrak yang mewarisi # dari ABC class School(ABC): @abstractmethod def enroll(self): # Metode ini wajib diimplementasikan # di kelas yang mewarisinya pass# Metode konkret akan diwarisi def graduate(self): print("Congrats on graduating!")
ABC di modul abcpassSchool harus mengimplementasikan enroll()class HighSchool(School):
def enroll(self):
print("Welcome to high school!")
# Membuat instance HighSchool
high_school = HighSchool()
high_school.enroll()
Welcome to high school!
high_school.graduate()
Congrats on graduating!
HighSchool wajib mendefinisikan metode enroll()TypeError jika enroll() tidak didefinisikanHighSchool mewarisi metode graduate()class School(ABC):
@abstractmethod
def enroll(self):
pass
@abstractmethod
def add_course(self, course_name):
pass
def graduate(self):
print("Congrats on graduating!")
enroll() dan add_course()class HighSchool(School):
def __init__(self):
self.courses = []
# Mengimplementasikan metode abstrak
def enroll(self):
print("Welcome to high school!")
# Mengimplementasikan metode abstrak
def add_course(self, course_name):
self.courses.append(course_name)
print(f"You enrolled in {course_name}")
Pemrograman Berorientasi Objek Tingkat Menengah di Python