作者huge (huge)
看板Python
标题Re: [问题] 父函式呼叫未知个数的子函式
时间Thu Oct 8 11:45:08 2009
※ 引述《yungyuc (酷狗喵千代)》之铭言:
: ※ 引述《huge (huge)》之铭言:
: : 标题确实下得不好还请见谅
: : 想请教各位前辈的是
: : 如果今天我有一个base (parent) class 最後需要呼叫 clear()
: : 但是这个 clear() 是由各个 subclass 去实作的
: : 也就是说 base class 在执行 clear() 的当下
: : 并不晓得哪些 subclass 实作了没
感谢回覆
: 为什麽要知道是谁实作的?
这边的部份是我表达得不好,而是像yungyuc所说的,
在我的写法里面 parent 并不需要知道 child 实作了没
所以看来还不需要邪恶的 __metaclass__
另外有一个部份小弟没看懂的是底下这句话
如果是因为多重继承,记得最上层父类别里的 clear() 要呼叫 super(...).clear()
保证每一个子类别的 clear() 都会被呼叫到
是指说在 parent 里面藉由呼叫 super().clear() 去执行所有 child 的 clear() 吗?
: clear() 既然设计上要被覆写,若子类别没有实作 clear(),表示有问题
: 程式执行到该处就应该烂掉,然後程式员要测出来,再加以改正
: 如果 clear() 不一定要被覆写,父类别就要提供预设方法。
: 如果是因为多重继承,记得最上层父类别里的 clear() 要呼叫 super(...).clear()
: 保证每一个子类别的 clear() 都会被呼叫到
: (不过多种继承很麻烦,这只是其中要注意的一点)
: : 请问这在python中是否有个关键字可以让小弟查询呢?
: : 感激不尽
: 如果你一定要知道是哪些子类别实作的话,用邪恶的 __metaclass__ 可以告诉你一切
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.146.30.126