【cocos2dx】継承とオーバーライド

【cocos2dx】継承とオーバーライド
   

今回はクラスの継承についてブログに書いていきたいと思います。
cocos2dでは、この辺りがとても簡単だったのですが、cocos2dxでの方法を勉強しました。
継承を利用しないとコードを書く量が増えたり、直感的にコードを読みにくくなるので、これを改善するためです。

開発のプロが教える Cocos2d-x逆引きガイドブック開発のプロが教える Cocos2d-x逆引きガイドブック
清水 友晶,松浦 晃洋,加島 拓,加藤 直人,木村 信行,小林 伸隆,鶴田 亮,西田 寛輔,藤田 泰生,八反田 智和(HatchUp)

マイナビ
売り上げランキング : 5382

Amazonで詳しく見る

override

親クラスに[virtual]をつけます。
これを利用すれば、子クラスのメソッドが呼び出されます。
これを「オーバライド」と呼びます。


final

[final]を付けると、オーバライドができなくなります。



親クラスを呼び出す場合

子クラスから親クラスを呼び出す際には以下のようなコードを書きます。


具体的な利用例

継承とオーバライドは色々な場面で利用ができるのですが、私が特に使いたかったのが配列からオブジェクトを取り出す時の処理です。


オーバライドをしているメソッドを呼び出せば、子クラスの処理が行われます。
アイテムやキャラクターなど、基本的なクラスを一つ作って、これを継承して作成をすれば、いちいちクラスを分けなくても個別のメソッドを実行することができます。

最後に

「override」「final」はVer3.xから利用できるようになったみたいで、これを上手く利用してクラスを設計すると誰から見てもわかりやすいコードになる感じがします。
どの機能を共通化すればいいのかなどを考えてコードを書いていきたいと思います。

Related Posts Plugin for WordPress, Blogger...