簡體   English   中英

Python:在基類中使用派生類屬性

[英]Python: Using derived class attributes in base class

當我遇到這個特定代碼時,我正在閱讀一些代碼,其中基類方法打印一些來自派生類的屬性,調用方法的對象來自派生。

class A(object):
  def printFreak(self):
    print self.derived_attrib

class B(A):
  def __init__(self, num):
    self.derived_attrib = num

my_obj = B(10)
my_obj.printFreak()

由於我之前沒有見過這樣的行為(比如在C ++中),我無法理解這一點。

任何人都可以幫我理解這一點,這是如何工作的? 這可能與C ++的一些概念有關嗎?

在Python中,屬性在運行時被解析,因此它只是在self引用的對象中查找名為derived_attrib的屬性,並發現有一個屬性。

只要derived_attrib被聲明為A字段然后在B分配,它就可以在C ++中工作,因為編譯器將能夠找出A的方法中self.derived_attrib含義。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM