【C#】初心者は絶対知っておこう!クラス基礎知識まとめ

必須知識!クラスに ついて理解しよう


クラスってなに? クラスの書き方が知りたい
メンバ変数やメンバ関数ってなに?
初期化ってどうやるの?

クラスは、オブジェクト指向を勉強するうえで欠かす事のできない要素です。C#も例外ではなく、クラスを使う事になります。

こんにちは、エンジニア歴5年の遠藤です。この記事では、C#におけるクラスの基礎知識について解説します。

本記事はこんな方へ向けて書かれています。

  • クラスとは何か知りたい
  • クラスに関連した基礎知識をおさえておきたい
  • 具体的な使い方が知りたい

この記事はクラスに関する基礎の基礎となる部分について触れています。

ぜひ最後までお付き合いいただき、クラスの理解への第一歩を歩み出してください!

クラスとは

クラスは一般的にオブジェクトを作るための設計図のようなものと言われています。そのためオブジェクト指向の中心となる要素であり、理解を避けては通れない大切なものです。

後で詳しく解説しますが、クラスの中にはメンバ変数メソッド(=メンバ関数)という物が定義され、そこに実体を持たせる事で処理されます。

以降ではその具体的な方法について紹介致します。

クラスの設計方法

それではまずクラスを書いてみましょう。

クラスの基本形は、以下になります。

上記のようにクラスは作成されます。クラス名は Sample{} のように、大文字から始めるようにしましょう。

メンバ変数について

クラスの中で宣言される変数をメンバ変数と言います。こちらはクラス内で有効な変数です。

例:

このようなSampleクラスがあるとき、”a”や”str”がメンバ変数となります。

メンバ関数について

メンバ変数同様、クラスの中で宣言されるメソッドをメンバ関数と呼びます。

例:

このようにしてメソッドを宣言する事ができます。どのようにしてメソッドを呼び出す事ができるかについては、次の章で解説致します。

クラスとインスタンス

さて、ここまでクラスについて解説しましたが、上述の通りクラスはあくまで設計図です。そのため、利用する際には設計図を元にした実体を作る必要があります。

この実体をインスタンスと言います。

クラスからインスタンスを生成するには以下のように記述します。

このように記述する事で、インスタンスを生成する事ができます。また、以下のように1行で記述することも可能です。

インスタンスからメンバ変数、メンバ関数を利用する際は、以下のように記述します。

メンバ変数の場合は上記そのままの形で、メンバ関数の場合は最後に括弧を付けます。

まとめて解説してしまったので分かりにくかったかも知れませんが、サンプルコードを元に使い方を整理してみましょう。

サンプルコード:

実行結果:

コンストラクタについて

前章のサンプルコードでは「cls.r = 4;」のように、メンバ変数に直接、値を代入していました。しかし、実際に値をセットする際はメソッドを使うことが望ましいとされています。

その際に使われるメソッドに、コンストラクタがあります。コンストラクタはクラスを生成したときに自動的に実行される、初期化用のメソッドです。

先ほどのサンプルコードにコンストラクタを追加した例を紹介します。

実行結果は先ほどと同様です。

この時のポイントは、以下のようになります。

  • コンストラクタ名は、クラス名と同じにする必要がある
  • コンストラクタに引数を渡すときは、インスタンス生成する際に値を指定する

また、この例では「this.r = r;」という風にして値を代入しています。この時の「this」はインスタンス自身を表します

上記の例のthis.rは、「このインスタンスにおける変数r」ということを意味しています。また、右側の「r」は引数として渡されたrになります。

thisはしばしば使われるので、こういう使い方があるという事を覚えておきましょう。

クラスの継承について

最後に、クラスの継承について解説致します。オブジェクト指向において、継承は重要な要素となります。

継承とは、あるクラスの機能を受け継いで新しいクラスを作ることを言います。

継承をする際には、クラスの宣言時に「Class名() : 継承したいClass名」というように記述します。実際のサンプルコードを確認しましょう。

実行結果:

上記のコードでは、Personクラスを継承したEmployeeクラスを実装しました。実行結果を見ると、Personクラスの処理も実行されている事が分かります。

この時、基本となったPersonクラスを基底クラス、継承したEmployeeクラスを派生クラスと言います。

実行時に基底クラスの処理 -> 派生クラスの処理という順に実行されることも覚えておくと良いかと思います。

コンストラクタや継承については以下記事にも詳しく書いています。加えてご覧いただけると幸いです。

【C#入門】これだけは覚えておこう!コンストラクタ基礎知識まとめ
更新日 : 2019年6月11日

まとめ

今回の記事では、以下の点について解説しました。

  • クラスとは
  • クラスの設計方法
  • クラスとインスタンス
  • コンストラクタについて
  • クラスの継承について

ポイントとしては、以下の点や用語をおさえていただければと思います。

  • クラス、メンバ変数、メンバ関数の書きかた
  • インスタンス
  • コンストラクタ
  • this
  • 継承

冒頭でも説明した通り、クラスについての知識は必要不可欠になります。ここで用語だけでも覚えて、これからの学びに活用していってください!

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

遠藤貴大

遠藤貴大

1991年生まれ。双子座。
理系大学で認証システムを学んだ後、アプリ開発者となる。
新しく学ぶ人に寄り添った記事を心がけて執筆します。
芸術が好き。いつか猫と暮らすのが夢。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説