Có cách nào để thực hiện điều gì đó như thế này không? Tôi làm việc trong Python, nhưng tôi không chắc chắn nếu có một cách để làm điều đó trong bất kỳ ngôn ngữ lập trình ...thừa kế trên thuộc tính lớp (python)
class Parent():
class_attribute = "parent"
@staticmethod
def class_method():
print __class__.class_attribute
class Child(Parent):
class_attribute = "child"
Tôi biết tôi không thể gọi __class__
trực tiếp. Nó chỉ là một ví dụ, bởi vì tôi muốn một cái gì đó giống như tham chiếu đến chính lớp đó, bởi vì tôi muốn lớp con hành động khác nhau dựa trên class_attribute của nó.
Và sau đó đầu ra phải nên như thế này:
> Parent.class_method()
"parent"
> Child.class_method()
"child"
Tôi biết các kỹ thuật tương tự có thể được thực hiện thông qua các trường hợp. Nhưng tôi không muốn tạo các cá thể, bởi vì đôi khi mã trong phương thức __init__
có thể dài và đòi hỏi và nếu tôi muốn gọi class_method
thường xuyên, tôi sẽ phải tạo nhiều cá thể được sử dụng chỉ cho cuộc gọi phương thức này. Và bởi vì class_attribute
và class_method
là tĩnh và sẽ không bị thay đổi theo các trường hợp.
bạn đang nói về các hàm 'tĩnh' đơn giản? – Tigran