【C#概要】クラスとオブジェクトの違いとは

C#はオブジェクト指向のプログラミング言語です。
オブジェクト指向にとって欠かすことのできない「クラス」と「オブジェクト」について、また両者の違いなども含めて紹介します。
- プログラマー
- そもそも、オブジェクト指向ってどのような概念なのでしょうか?
- プロジェクト
リーダー - 簡単に説明すると、プログラムを上から順番に実行していく手続き型ではなく、物の作成と操作に重点を置いた概念になりますね。
C#でクラスを実装するには (クラスの概念も含めて確認)
クラスには設計図の役割があります。設計図として機能させるためのクラスの代表例として以下の要素を定義することができます。
- 名前:クラスそのものの名前を定義します。
- フィールド(変数):データを格納します。
- プロパティ:フィールドの値を取得または設定するための手段となります。
- メソッド(関数):引数を指定して、呼び出し元プログラムから読み込むと、メソッド内のステートメントが実行される。また値を返すことも可能です。
これらの要素を持つオブジェクトをまとめたものがクラスになります。
以下、C#でのクラスを定義する方法です。
ここでは、test classという名前を定義しています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
//クラス public class test { //フィールド private int _height; private int _width; //プロパティ public int Height { get { return this._height; } set { this._height = value; } } public int Width { get { return this._width; } set { this._width = value; } } //コンストラクタ public test() { this._height = 10; this._width = 10; } //メソッド public int GetArea() { return this._height * this._width; } } |
コンストラクタは、インスタンスが生成された時に必ず実行されるメソッドになります。
ここに初期化処理などをコーディングするのが一般的です。
C#でオブジェクトを作成するには (オブジェクトの概念も含めて確認)
C#でクラスからオブジェクトを作成するには、「new」を使用します。
これをインスタンス化すると呼び、newを使用してインスタンス化することによってクラスがメモリ上に作成されることになります。
これによってオブジェクトが実体化されました。
以下、C#でのインスタンス化の例です。
上記のtest classを利用するために、呼び出し元プログラムで test classをインスタンス化する必要があります。
1 |
test objectName = new test(); |
C#のクラスとC#のオブジェクトの違いとは
現実世界で我々が製品(車など)を作るためにはまず必ず設計図が必要です。概念的には、クラスはこの設計図として機能するものになります。
設計図をもとにして製造された製品(車など)が、オブジェクトになってきます。製品を作るには、両者はともになくてはならない存在というわけです。
- プログラマー
- オブジェクト指向では、クラスは必ず必要なのでしょうか?
- プロジェクト
リーダー - そうです。全てのオブジェクトはクラスから作成されます。クラスの概念の理解は、C#をコーディングするには必要不可欠といえますね。
クラスとオブジェクトの理解がプログラミングを深める
クラスとオブジェクトは、オブジェクト指向のプログラミング言語を学ぶにあたって、はじめに理解が求められる概念であります。
この概念が理解できれば、JavaやPHPなどの他の言語でプログラミングする時にも役立ちますので、この機会に理解を深めてみてはいかがでしょうか。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。

-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。


新着案件New Job
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅)遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅)病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅)開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅)債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅)PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)