【C++】virtualの説明
先日、新人君に、
「virtualってついているものがあるんですが、
これなんですか?」
って聞かれた。
新人君は、Javaは使ったことはあるが、
オブジェクト指向は意識していなかったようで、
オブジェクト指向のキーワードをほとんど知らなかった。
virtualといえばオーバーライドである。
オーバーライド可能な仮想メソッドと、
不可能な非仮想メソッドとでは、振る舞いがどう変わるのかは、
継承の話をしないと通じない(一応、新人君は継承を知っていた)。
そして、基本クラスを介した操作を行うことのメリットがわからないと、
virtualの有効性がわからない。
上手なvirtualの使い方を説明すると、
完璧設計の世界に突入する。
うーん、オブジェクト指向って面倒くさい。
オブジェクト指向って、一つのキーワードを説明するのに、
あれこれと余計なこと言わなければ伝わらない。
敬遠されるわけだ。
2008/03/15追記
virtualなどの検索ワードでこのエントリを訪れる方が多いのですが、ご覧の通り、説明が全くないのが申し訳なかったため、
説明ページを作りました。
virtualは、どう使えば有効なのかを中心にまとめています。
よろしければどうぞ。
virtualの説明コラムへ