2014-10-08 36 views
1

是否有任何允許自反繼承或繼承循環的編程語言?是否有允許繼承循環的語言?

如果不是,在任何語言中是否是不可能的事情?

除了任意實現共享和參與異構數組之外,是否還有其他用途?

例如,我可以想象有任何字段或方法添加到循環參與者的其他基類或接口中的任何字段或方法會自動變爲可用於整個循環。另一個想法是等價類的表示。

class Thing extends Item, implements A 
{ 

} 

class Item extends Concept 
{ 

} 

class Concept extends Thing 
{ 

} 

Item item = new Thing(); 
Thing thing = new Item(); 
A a1 = new Thing(); 
A a2 = new Item(); 
A a3 = new Concept(); 
+3

通過給它任意的語義,「允許」任何語法結構是微不足道的。當你添加循環時,繼承的通常語義在你的臉上爆炸,它不適合。以有意義的方式擴展它可能是可能的,但結果看起來並不明顯。總之,你能解釋一下你想要這樣的事情來表示**嗎?當一些領域和方法被添加到「項目」,「概念」和「事物」 - 誰會繼承誰? – delnan 2014-10-08 11:28:51

+0

什麼是*點*? – 2014-10-08 11:33:38

+0

可能將任何字段或方法添加到循環參與者的其他基類或接口中的任何循環參與者的自動變爲可用於整個循環。 – 2014-10-08 11:40:40

回答

1

繼承的目的是對參與類施加一些(層次)結構。

允許循環似乎走向相反的方向,有效地破壞結構,因爲每個項目將彼此相關。

相互依賴性可能是必需的,但這應該由其他一些句法結構明確表達,而不是扭曲和濫用另一個。