ホームページ  >  記事  >  バックエンド開発  >  golang にはファクトリー クラスがありますか?

golang にはファクトリー クラスがありますか?

青灯夜游
青灯夜游オリジナル
2023-01-03 16:58:593886ブラウズ

Golang はクラスをサポートしていないため、Golang にはファクトリ クラスがありません。 golang には明確なオブジェクト指向の記述がなく、次の理由から、golang はオブジェクト指向言語とみなされません: 1. golang はカプセル化のみをサポートし、継承とポリモーフィズムをサポートしない; 2. golang には構造体のみがあり、クラスがありません。もちろん、構造体は他の言語のクラスと比較することもできます。

golang にはファクトリー クラスがありますか?

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

Golang はクラスをサポートしていないため、Golang にはファクトリ クラスがありません。

golang には明確なオブジェクト指向の記述がなく、オブジェクト指向言語とみなされません。理由:

  • golang はカプセル化のみをサポートし、継承とポリモーフィズムをサポートしません

  • golang には構造体のみがあり、クラスはありません

本当に接続したい場合は、構造体を他の言語のクラスと比較できます。

クラス宣言

type Poem struct {
    Title  string
    Author string
    intro  string
}

これは、public、protected、または private 宣言を使用せずにクラスを宣言します。

Golang は別のアプローチを使用して属性のアクセス許可を実装します。属性の最初の文字が大文字の場合は、他のパッケージでアクセスできます。それ以外の場合は、このパッケージでのみアクセスできます。クラス宣言とメソッドについても同様です。

クラスメソッド宣言

func (poem *Poem) publish() {
    fmt.Println("poem publish")
}

または

func (poem Poem) publish() {
    fmt.Println("poem publish")
}

は他の言語と異なり、golang の宣言方法は通常のメソッドと同じですが、それは関数詩の後に追加されます。詩のようなステートメントです。 * を追加する場合と追加しない場合の違いは、1 つはポインター オブジェクトを渡し、もう 1 つは値オブジェクトを渡すことです。

【関連する推奨事項: Go ビデオ チュートリアル プログラミング教育

以上がgolang にはファクトリー クラスがありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。