#Go 言語では、オブジェクト指向の概念は明示的に提案されていませんが、既存の構文設計に基づいてオブジェクト指向のコードを記述することもできます。 Go 言語のオブジェクト指向は、構造体構造を利用して実装されます。 (推奨学習: Go )
オブジェクト指向の 2 つの主要なタイプは、構造体とインターフェースです。
public/protected/private を使用してメンバーとメソッドの可視性を示す C とは異なり、Golang は大文字と小文字を使用して可視性を示します。つまり、大文字で始まるメンバー/メソッドは外部から参照できます。 、小文字で始まるものはクラスに対してプライベートであり、外部からメンバーに直接アクセスすることはできません。
さらに、クラス型の定義において、Golang と C の間には重要な違いがあります。つまり、Golang では構造体のクラスのメンバー変数を宣言するだけでよく、宣言や宣言を行う必要はありません。クラス定義本体ですべてのメソッドを定義します。メソッド定義はすべて構造体の外側で完了します。
Golang ではクラスの属性は struct で定義し、クラスのメソッドは func 定義時にクラスオブジェクトを渡すことで定義します。属性とメソッドのパブリック/プライベート属性はケースによって決まります。最初の文字の。
type Student struct { name string age int major string }
Golang は継承を完全には実装しませんが、組み合わせによって実装します。複合クラス (サブクラス) は、結合クラス (基本クラス) のパブリック メソッドを直接呼び出して、基本クラスのパブリック プロパティにアクセスできます。サブクラスは、独自のプロパティを定義し、独自のメソッドを実装することもできます。
Golang の設計思想の 1 つはシンプルさであり、メンバーやメソッドのパブリック/プライベート属性を大文字と小文字で区別したり、組み合わせによって継承を実現したりするなど、シンプルさの哲学を体現しています。
Golang のインターフェイス タイプは、メソッドのコレクションである抽象基本クラスを定義します。これらのメソッドを完全に実装するタイプはインターフェイスと呼ばれます。抽象化とポリモーフィズムは相互に補完し合うため、または抽象化の目的はポリモーフィズムを実現することであるためです。
以上がgolangはオブジェクト指向ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。