Tôi hiện đang cố gắng triển khai một số thừa kế trong dự án Python của mình và đã nhấn một khối đường. Tôi đang cố gắng tạo ra một baseParentClass sẽ xử lý các chức năng cơ bản cho rất nhiều lớp con. Trong ví dụ cụ thể này, tôi đang cố gắng khởi tạo một cá thể với một số thuộc tính (được đặt là 0), được lưu trữ dưới dạng một danh sách biến lớp (được gọi là ATTRS) trong Child. Tôi không chắc chắn về cách sử dụng ATTRS này trong lớp cha.Lớp cha mẹ truy cập lớp biến lớp con của lớp
class Parent(object):
def __init__():
for attr in ATTRS:
setattr(self, attr, 0)
class Child(Parent):
#class variable
ATTRS = [attr1, attr2, attr3]
def __init__():
super(Child, self).__init__()
Tôi có thể lưu trữ attrs như self.ATTRS ở trẻ em, và sau đó sử dụng self.ATTRS trong Chánh thành công, nhưng có vẻ như thích hợp hơn để tôi có họ được lưu trữ như là một biến lớp.
Ngoài ra tôi có thể vượt qua attrs như một tham số như sau:
class Child(Parent):
#class variable
ATTRS = [attr1, attr2, attr3]
def __init__():
super(Child, self).__init__(ATTRS)
nhưng tôi đang tự hỏi liệu điều này bằng cách nào đó đánh bại điểm của việc sử dụng thừa kế ở nơi đầu tiên?
Tôi rất biết ơn vì bất kỳ ý tưởng, gợi ý hoặc phản hồi nào cho dù tôi đang sủa cây sai hoàn toàn!
Cảm ơn
Điều gì xảy ra khi bạn dùng thử? –