プロトタイプオブジェクトの持っているデータをオブジェクトを用いてより効率的にアクセスしデータを使用していこうという考え方をオブジェクト指向といいます

クラス名の設定方法を考えてみましょう😊クラス名は取り扱うモノ(プロトタイプオブジェクト)の所属するカテゴリー名により決定されます

ソーラー「クラスCubeが用いられたプログラムを今一度


ご覧ください

👇


#include <iostream>


using namespace std;


class Cube {


public: // (アクセス指定子)


int no; //変数noはクラスCubeのメンバ変数とよばれます

float tate; //変数tateはクラスCubeのメンバ変数とよばれます

float yoko; //変数yokoはクラスCubeのメンバ変数とよばれます


float takasa; //変数takasaはクラスCubeのメンバ変数とよばれます


void display(); //自作関数display()はクラスCubeのメンバ関数とよばれます


};


void Cube::display() {


cout << "立方体につけられたナンバーは" << no << "です" << "\n";

cout << "立方体の縦の長さは" << tate << "です" << "\n";

cout << "立方体の横の長さは" << yoko << "です" << "\n";

cout << "立方体の高さの長さは" << takasa << "です" << "\n";


}


//👆クラスCubeのメンバ関数となっている自作関数display()の定義をおこなっています


int main() {


Cube cube1;


//👆cube1のクラスCube型のオブジェクト宣言をおこなっています


cube1.no = 1;

cube1.tate = 2.0;

cube1.yoko = 3.0;

cube1.takasa = 4.0;

cube1.display();


return 0;

}


ビルド実行結果


立方体につけられたナンバーは1です

立方体の縦の長さは2です

立方体の横の長さは3です

立方体の高さの長さは4です



ソーラー「


では


このプログラムで


クラスCubeの名前が


なぜ


Cubeとなっているのか


について考察してみようよ」



マックス「なんで


クラスCubeの名前が


なぜ


Cubeとなっているのか、か?


適当じゃないのか?」


ソーラー「適当じゃありません


さあ、なぜ


クラスCubeの名前が


Cubeとなっているのでしょうか?




         "クラスとは"



        "あるモノのデータを格納する変数"



      "そのデータを格納している変数に作用する関数(プラスそのクラスに含めておいた方が便利だろう関数)"



         "1つにまとめるためにあります"





ヒントは


このクラスCubeが立方体💖💖💖cube1のデータ


立方体💖💖💖というカテゴリーに含まれるcube1のデータ


を取り扱っているということです







いかがでしょうか?










         "クラスは"



        "あるモノのデータを格納する変数"



      "そのデータを格納している変数に作用する関数(プラスそのクラスに含めておいた方が便利だろう関数)"



         "1つにまとめるために用いられます"



あるモノのデータが立方体のデータ


立方体💖💖💖というカテゴリーに含まれる立方体cube1のデータ


なら


クラス名をCubeにすればよいというわけです


Cubeという名前のクラスには


立方体のデータを格納するための変数と


その立方体のデータを格納するための変数に


作用するための関数がまとめられているというわけです


もし取り扱うモノのデータが



ゲームのキャラクターのデータなら


つまり


ゲームのキャラクターというカテゴリーに含まれるデータなら


クラス名を


GameCharacterに



もし取り扱うモノのデータが



クルマのデータなら


つまり


クルマというカテゴリーに含まれるデータなら


クラス名を


Carに


すればよいというわけです


このときクラス名の最初の1文字は大文字にします


ようは


クラスが取り扱うモノの所属するカテゴリー名をクラス名にすればよいというわけです




クラスのメンバ変数

クラスのメンバ関数

自体は


クラス名を決定するのに関係してきません


なぜなら


クラスのメンバ変数は


データを取り扱うことはできますが


何のデータを取り扱うかを決めることはできず



クラスのメンバ関数は


クラスのメンバ変数が


取り扱うデータに作用し


どのように作用するかを自由に決めることができますが


何のデータを取り扱うかを決定することはできないからです」



🌞🌞おまけ++(プラスプラス)のコーナーです🌞🌞



 クラス名の名前の付け方を


プロトタイプオブジェクト


すなわち


自分が対象としてみるもの


を中心に据えて考えてみましょう


プロトタイプオブジェクト


すなわち


自分が対象としてみるもの



何かのカテゴリーに属しています


例えば・・・


       プロトタイプオブジェクト


すなわち


       自分が対象としてみるもの



     目の前のcube1と名づけられた物体


とします


その物体はたまたま立方体だったとします


目の前のcube1と名づけられた物体は


立方体というカテゴリーに属しているのですね


そのとき


目の前のcube1と名づけられた物体のデータを取り扱うためのクラスの


クラス名を


Cube(立方体)とします


つまり


プロトタイプオブジェクトが属しているカテゴリー名を


クラス名にするのです


       プロトタイプオブジェクト


すなわち


       自分が対象としてみるもの



 リリアーネという名前のゲームのキャラクターなら


リリアーネはゲームのキャラクターというカテゴリーに属しています


そこで


リリアーネという名前のゲームキャラクターのデータを取り扱うためのクラスの


クラス名を


GameCharacterにします



       プロトタイプオブジェクト


すなわち


       自分が対象としてみるもの



 car1という名前のクルマなら


car1はクルマというカテゴリーに属しています


そこで


 car1という名前のクルマ(Car)のデータを取り扱うためのクラスの


クラス名を


Carにします


このときクラス名の最初の1文字は大文字にします








  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る