[ソフトウェア] オブジェクト指向を説明する

今週の火曜日は、Rubyの本読書会 に参加して来ました。 今回は 第3章 クラス、オブジェクト、変数 を読みました。

グループの人たちと オブジェクト指向、クラス、インスタンス などを説明するのは難しいよね、とあれこれ 話しました。 オブジェクト、クラス、インスタンス などの抽象的な概念を言葉だけで説明すると、人により言葉からイメージするものが違ったりしてしまい、なかなか上手く行きません。

私が今までに読んだ本で オブジェクト指向を上手く説明出来てると思うのは オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識― だと思います。
この本は抽象的な説明をやめ、インスタンスはメモリー上でどうなっているのかなどの具体的なイメージを示して説明しています。

しかし、アセンブラーやC言語を(ちゃんと)理解している人にはメモリーだのアドレスの話をするのは解り易いのですが、
初めてプログラミングを学ぶ人やスクリプト言語しか使った事のない人に、実装寄りの説明をするのも ハァ〜 ^^)? だと思います。


なかなか難しいものです。


私が教育でオブジェクト指向を教える場合は、最初は言葉で説明しある程度わかった気分になってもらいます。(ややもやもやした状態かもしれませんが)
その後の実習を繰り返す事を通じてオブジェクト指向を実感してもらうようにしています。