Go の継承の詳細: なぜそれが機能ではないのか
多くの人気のあるプログラミング言語とは対照的に、Go は従来の型継承を提供しません。この決定は開発者の間で疑問を引き起こしました。ここではその背後にある理由を詳しく見ていきます。
なぜ継承がないのか?
Go の作成者は、細心の注意を払って言語を使用して、型間の明示的な関係宣言の必要性を最小限に抑えます。代わりに、インターフェイスを型メソッドで自動的に満たすアプローチを選択しました。
Go の FAQ によると、
「2 つの型が関連していることを事前に宣言することをプログラマに要求するのではなく、 Go では、型はメソッドのサブセットを指定するインターフェイスを自動的に満たします。
これにより、次のような利点が得られます。
継承の代替
継承は存在しませんが、Go は「継承よりも合成」の原則を奨励します。これには、既存の型を拡張するのではなく、既存の型から型を合成することが含まれます。このアプローチは、明確で保守可能なコードベースを促進します。
結論
Go に継承がないのは、型の関係を単純化し、柔軟で軽量なインターフェイスの実装を促進することを目的とした意図的な決定です。合成を採用することで、Go 開発者は、継承に伴う複雑さを伴うことなく、継承の利点を得ることができます。
以上がなぜ相続をしないのか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。