python: บันทึกเรื่องคลาสอีกครั้ง
Submitted by wd on Fri, 2007-04-06 08:25
มีอีกวิธีนึงในการที่จะให้คลาสลูกเรียกเมธอด __init__
โดยอัตโนมัติ นั่นคือเราจะไม่สร้างเมธอด __init__
ในคลาสลูก แต่สร้างเมธอดใหม่ที่เมธอด __init__
จะมาเรียกใช้อีกทีนึง
ตัวอย่าง
>>> class X: ... def __init__(self,*argv,**keyw): ... if len(self.__class__.__bases__) == 0: ... self._parent = None ... else: ... self._parent = self.__class__.__bases__[0] ... print self._parent ... self.init(argv, keyw) ... def init(self,*argv,**keyw): ... pass ... >>> class Y(X): ... def init(self,*argv,**keyw): ... print 'Print from class Y' ... >>> class Z(Y): ... pass ... >>> y=Y() __main__.X Print from class Y >>> z=Z() __main__.Y Print from class Y
- Printer-friendly version
- Log in or register to post comments
- 3798 reads
Recent comments