キノコの自省録

日々適当クリエイト

【プログラミング】オブジェクト指向を人に説明するのは困難

virtualの説明というエントリで、
オブジェクト指向を教えるのは大変だと書きました。
最近ふと思ったのですが、
C++で教えようとしたから大変だったのでしょうか?
C++だと、オブジェクト指向設計の話
(例えば、継承、多態性カプセル化やDPなど)
をしようとすると、
余計な面倒がついてまわります。

例えば、下のC++のコードは、
Personクラスのコンストラクタの宣言です。


Person(const char* name);
「このnameを、コンストラクタ内部でchar*型のメンバ変数にコピーします。」
というと、途端に話がややこしくなります。

どれくらい余計な話が増えるかちょっと考えてみます。

まだあるかもしれません。

オブジェクト指向設計の話をしようとしてるのに、
これじゃわき道に逸れていってしまいますよね。
C++使う以上、ポインタは避けて通れないので、
ポインタださなきゃいいじゃん、というわけにもいかなそうですし。

でも、結局、説明者側がサンプルについて熟慮すればいいのかもしれないですね。
(とはいえ、そんな完璧には行かないのが現状。)