Tôi có một lớp cơ sở không bao giờ được khởi tạo. Có các lớp con khác nhau của lớp cơ sở này. Mỗi phân lớp định nghĩa các biến lớp nhất định trong đó tên giống nhau trên tất cả các lớp con nhưng giá trị sẽ khác nhau. Ví dụcác giá trị khác nhau cho các biến lớp trong mỗi phân lớp trong python
class Base:
def display(self):
print self.logfile, self.loglevel
class d1(Base):
logfile = "d1.log"
loglevel = "debug"
def temp(self):
Base.display(self)
class d2(Base):
logfile = "d2.log"
loglevel = "info"
def temp(self):
Base.display(self)
đúng cách để thiết kế này như vậy mà tôi có thể thực thi rằng nếu ngày mai bất kỳ lớp con mới được xác định, người thực hiện các lớp con nên cung cấp một số giá trị các biến lớp học và không bỏ lỡ định nghĩa chúng là gì?
+1 để sử dụng metaclass –
Tôi thích giải pháp của @ SavinoSguera vì nó đơn giản hơn và ít mã hơn - có nghĩa là dễ hiểu hơn đối với người đọc mã trong tương lai – Henning