這個問題更籠統(tǒng),并擴(kuò)展到類型化的非 OOP 語言,但只是為了讓代碼證明我的意圖,我將堅持使用標(biāo)準(zhǔn)的花括號語言,如 C#。我見過的 OOP 語言支持兩種復(fù)合接口interface ISyntaxNode : ISyntax, INode {}ISyntaxNode node;// Do stuff with node還有一些復(fù)合類的概念class SyntaxNode { // Members are public/private/partially exposed/whatever ISyntax code; INode node;}SyntaxNode node;// Do stuff with node但是在這兩種情況下,都需要在使用之前明確定義復(fù)合類型以及它的行為方式。是否有任何語言支持某種隱式復(fù)合類型的概念?例如ISyntax INode node;這在具有隱式接口概念的語言中會更有用/更靈活,以便您以后可以定義類似的東西ISyntaxNode并且仍然node是其中之一,而無需對代碼進(jìn)行任何更改,但我很好奇這是否是一種模式在野外見過。我的 google-foo 試圖回答這個問題有點(diǎn)簡短。
是否有一種語言在變量聲明時支持隱式復(fù)合類型?
阿波羅的戰(zhàn)車
2021-12-10 16:52:55