AIブログ 入門用

【C#】C#とオブジェクト指向プログラミングについて解説します! クラス、インスタンス、コンストラクタ、インデクサ、プロパティ、継承、ポリモーフィズムなど徹底解説!

この記事は90%~100%ChatGPTで作られています。

作り方はこちらをクリック

このブログではAffinger5を使用しています。

ブログテーマが気に入った方はコチラをクリック

1. C#とオブジェクト指向プログラミング

C#は、オブジェクト指向プログラミング言語の一つです。
オブジェクト指向とは、プログラムを「オブジェクト」と呼ばれる部品に分割し、それらを組み合わせてプログラムを作る手法です。

そして、それぞれのオブジェクトは「クラス」という設計図を元に作られます。
クラスとは、オブジェクトの設計図で、そのクラスに基づいて作られるオブジェクトを「インスタンス」と呼びます。

サルモリ
ふむふむ、つまりクラスは設計図で、それをもとに作ったものがインスタンスだね!

ソースコード例

 出力結果
Animal eats... 

2. クラスとインスタンス

クラスは、オブジェクトの属性(変数)と動作(メソッド)を定義します。
例えば、「人間」を表現するクラスを作るとしたら、属性には「名前」や「年齢」、動作には「話す」「歩く」を定義できます。

そして、この「人間」クラスから「太郎」や「花子」といった具体的な人間(オブジェクト)を作ることができます。
これが「インスタンス化」と呼ばれるものです。

サルモリ
なるほど、クラスを元に具体的なものを作るんだね!

ソースコード例

 出力結果
Taro says hello!
Hanako says hello! 

3. メソッドについて

メソッドとは、クラスが持つ動作を表します。
メソッドは、特定の処理をまとめて名前を付けたもので、そのメソッドを呼び出すことで、その処理を実行します。

例えば、「人間」クラスには「話す」や「歩く」といったメソッドがあり、それらを呼び出すことで「太郎が話す」「花子が歩く」といった動作を表現できます。

サルモリ
メソッドは動作だね。自分で好きな動作を定義できるのがいいね!

ソースコード例

 出力結果
Taro is walking.
Hanako is walking. 

4. コンストラクタについて

コンストラクタとは、クラスからインスタンスが生成されるときに呼び出される特殊なメソッドです。
このメソッドはインスタンスの初期化を行うために用います。

サルモリ
初期化ってなんだ?

初期化とは、オブジェクトが持つ属性(変数)を初期の状態に設定することです。
例えば、「人間」クラスから「太郎」というインスタンスを作るとき、その名前を初期に「太郎」に設定するのが初期化です。

サルモリ
つまり生まれて初めて名前をもらうみたいなものだね!

ソースコード例

 出力結果
Taro says hello!
Hanako says hello! 

5. カプセル化について

カプセル化とは、クラスの内部情報を外部から見えないようにすることです。
これにより、クラスの内部構造を意識せずに、そのクラスが提供する機能だけを使うことができます。

サルモリ
あ、それいいね!内部のことを気にせず使えるってわけだね!

ソースコード例

 出力結果
Taro's age: 30 

6. 継承について

継承とは、あるクラスの属性やメソッドを別のクラスが引き継ぐことです。
これにより、既存のクラスを再利用して新たなクラスを作ることができ、コードの重複を避けることができます。

サルモリ
なるほど、つまり遺伝子を引き継ぐようなもんだね!

ソースコード例

 出力結果
Rex makes a sound
Rex barks 

7. ポリモーフィズムについて

ポリモーフィズムとは、「多態性」とも呼ばれ、同じメソッド名で異なる動作をすることを指します。
これにより、同じインターフェースで異なる動作を表現することができます。

サルモリ
へぇ、それは便利だね!同じ名前で色んな動作をさせることができるんだね!

ソースコード例

 出力結果
The dog barks
The cat meows 

8. プロパティについて

プロパティとは、クラス内部のデータに安全にアクセスするための機能です。
これにより、直接フィールドにアクセスする代わりに、データの取得や設定を制御することができます。

サルモリ
ああ、それなら安全にデータを扱えるね!

ソースコード例

 出力結果
Taro's age: 25 

9.インデクサについて

インデクサとは、クラスが配列のように振る舞うことを可能にする特殊なプロパティです。
これにより、クラスのインスタンスに対して、配列のようなインデックス操作を行うことができます。

サルモリ
配列みたいに使えるってこと?それなら便利そうだね!

ソースコード例

 出力結果
10 20 

上記のサンプルコードでは、SampleCollectionというクラスにインデクサを定義しています。
その結果、このクラスのインスタンスは配列のように扱うことができます。

サルモリ
なるほど、確かに配列みたいに使えるね!これは便利だ!

まとめ

以上が、C#のクラスとオブジェクト指向の使い方についての基本的な解説です。
クラスとは、「設計図」のようなもので、それに基づいて具体的な「インスタンス」が作られます。
メソッドはクラスが持つ「行動」、コンストラクタはインスタンスが作られる時に自動的に呼び出される特殊なメソッドです。
また、カプセル化、継承、ポリモーフィズムはオブジェクト指向プログラミングの3つの柱とも呼ばれています。
最後に、プロパティを用いることで、クラスの内部データに対する安全なアクセスが可能となります。

最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

サルモリ
最後まで読んでくれてありがとう!!

C#のLinqをさらに学びたい方へ

C#のLinqを理解して頂くために参考書を執筆致しました!

Linqの演習問題はこちらの参考書に載せているので、問題を解いて理解を深めたい方はこちらの参考書チェックしてください!

下記の画像をクリック!!kindleunlimitedの会員であれば無料で見れます!

⇩初心者向け      ⇩中級者向け

C#でChatGPTAPIを使ってブログ作成を自動化しませんか?

この記事は90%~100%ChatGPTで作られています。

作り方はこちらをクリック

-AIブログ, 入門用

Ads Blocker Image Powered by Code Help Pro

広告ブロックを検出しました。

ブラウザの広告機能を使用して広告をブロックしていることが検出されました。
ブラウザの広告ブロッカーを無効にし、「更新」をクリックしてください。

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock