No.1ベストアンサー
- 回答日時:
クラスというのは設計図
インスタンスはその設計図を基に作られた実体
という説明をよく見ます。
以下、例
四角形を表現するためのプロパティ(x座標, y座標, 幅, 高さ)を
二つ分用意するとしたら、
クラスを用いない場合には
int block1_x, block1_y, block1_width, block1_height;
int block2_x, block2_y, block2_width, block2_height;
こんな感じになると思います。
クラスを使うと
class Block
{
public int x, y, width, height;
}
とクラス(設計図)を用意しておき、
Block block1, block2;
とするだけで済みます。
修正する際にも設計図を修正すれば全ての実態に反映されるので非常に楽です。
面積を求める場合
クラスを使わない場合
int getBlockArea(int width, int height)
{
return width * height;
}
となり、使用する際には引数に色々な名前の引数を渡し、
コードが複雑化しますが、
クラスの場合はクラスの中で、
public int getArea(){
return this.width * this.height;
}
と宣言しておけば インスタンス名.getArea()で簡単に呼び出すことができます。
実際はプロパティを使用したり、継承などがありもう少し複雑に作るようになると思いますが、
単純にいえば上のような感じになると思います
いろいろメリットがあるので是非調べてみてください。
No.2
- 回答日時:
Fortranにも構造体があるはずですが
あれと似た位置関係にあります。
構造体を定義する場所するのがクラスでその構造体を使えるように宣言する行為をするのがインスタンスにそれぞれ該当すると考えれば良いと思いますよ。
No.3
- 回答日時:
知ってる言語に置き換えて、という気持ちもわからなくはないですが....
クラスやインスタンスといったものは、オブジェクト指向という考え方から来ているものです。
旧来のFortranやBasicではサポートされていない手法です。
一度、参考書なり解説サイトなりで「オブジェクト指向」について読んでみてはどうでしょうか。
もちろん、C#で旧来式のベタ書きプログラムを作ることもできます。
# 逆に、旧来のFortranやBasicにオブジェクト指向の考えを持ち込むことも不可能ではありません。
しかし、言語というのは、その思想に近い形のプログラムがしっくりくるように設計されているものです。
同じベタ書きプログラムを作るにしても、バックボーンは知っておいたほうがよいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- IT・エンジニアリング FORTRAN、COBOL、C、Java、C++とか誰が作ったのですか?言語習い使いまた出て、キリが 4 2023/05/06 23:11
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- Excel(エクセル) 別インスタンスのエクセルを制御したい 1 2023/05/10 02:03
- C言語・C++・C# gettimeofday() と localtime_r() を使って現在の日時をマイクロ秒単位で表 2 2022/10/26 21:15
- C言語・C++・C# c言語で自然数nを入力、2以上n以下の偶数の累積sumを求めるプログラムをfor文を使って作りたいで 4 2022/11/09 14:10
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- 数学 C言語と将来性 7 2022/10/13 16:49
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インスタンス参照でアクセスで...
-
変数の参照でエラーが出てしま...
-
生成したインスタンスを削除す...
-
複数の変数を宣言する時、同時...
-
VB.NET getとsetの概念がわかり...
-
C#「オブジェクト参照が必要で...
-
マルチスレッドでのインスタン...
-
文字列を日付に変換でParseExce...
-
C#において、同じインスタンス...
-
private static という変数の修飾
-
VC#での24ビットbmp形式での保...
-
「インスタンス」の意味をわか...
-
SQLを連続発行する時の正しい(?...
-
抽象クラスのインスタンス生成...
-
MDIでフォームがアクティブにな...
-
サーブレットでレスポンスが返...
-
プログラミング、シューティン...
-
日数計算について
-
変数名の付け方
-
インスタンス生成で、○○.xxx();...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
private static という変数の修飾
-
VB.NET getとsetの概念がわかり...
-
C#において、同じインスタンス...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
newしないインスタンス?実体化...
-
SQLを連続発行する時の正しい(?...
-
「インスタンス」の意味をわか...
-
文字列を日付に変換でParseExce...
-
変数の参照でエラーが出てしま...
-
フォームの存在をチェックする方法
-
javaのクラスの作り方、エラー...
-
オブジェクト参照がオブジェク...
-
String a = "a"; と String b =...
-
エクセル(複数インスタンス)...
-
C#「オブジェクト参照が必要で...
-
他のファイルの変数参照
おすすめ情報