3月 04
クラスとは?
オブジェクト思考をやるときに必ず分けが分からなくなるのが
・クラスとは?
・メソッドとは?
・メンバー変数は?
でしょう。
これらの単語を聞くだけで???が浮かぶかもしれませんが
小学生で習う円の円周と面積の求め方を利用して
これらの意味を理解していきましょう。
まず円周の求め方は
2x半径x3.14=円周
そして円の面積は
半径x半径x3.14=面積
です。
ではさっそく、
クラスについて説明します。
ずばり、これらの公式を1つまとめたオブジェクトです
例えば円周と円の面積を求めるための公式を円というクラスにまとめると、
円のクラスには、円周を求めるメソッドと、面積を求めるメソッド、半径というインスタンスがある
スルーしようかとも思ったけど、やはり誤解を招くとまずいと思ったので書きます。
> 円のクラスには、円周を求めるメソッドと、面積を求めるメソッド、半径というインスタンスがある
このようにクラスを定義すると、半径はインスタンスじゃありません。
半径はメンバ変数です。正確にはインスタンス変数またはクラス変数に成り得ます。
半径が固定されているのならクラス変数(Javaならstatic、Rubyなら@@)、半径が変更可能な値(インスタンスごとに変化)ならインスタンス変数。
インスタンスとは、クラスを実体化させたものです。
オブジェクト指向を何かの例で説明するなら車の例が一番わかりやすいでしょう。この例なら継承やカプセル化なども説明がしやすいです。もしくは実際のコードで説明することもいいと思います。
ご指摘どおり自分も勘違いをしていたので、
記事を修正致しました。
インスタンスの記事はもう少し勉強してから書きたいと思います。