雑記

オブジェクトのイメージ

クラス:RPGの職業
オブジェクト:その職業のキャラ
フィールド:HPとかのパラメータ
メソッド:戦う とかのコマンド



オブジェクト指向といっても、いろいろあるのですが、とりあえず継承というものを説明します。
例えば「人間」というクラス(関数や変数の集まり)があるとします。
この人間には、食う、寝るなどの基本的な機能があります。
その人間を継承した「男」クラス、「女」クラスがあるとします。
どちらも人間の機能があらかじめ備わっています。
女クラスには、さらに「生理」「マンコ」といった機能を拡張するコトも可能です。
さらに女クラスの下に「スイーツ」「ビッチ」「グラドル」「深窓の令嬢」「腐女子」など様々なクラスがあるとします。
これらのクラスは人間、女の機能を持ち合わせており、またいずれも独自の拡張が可能です。

ここで、ビッチクラスを用いて、ビッチとセックスするプログラムを作るとします。
開発者は必ずしも、人間クラスや女クラスのコトを意識する必要はありません。
あくまでビッチについて知っていればオッケーです。
人間や女クラスとの変数名の被りもあまり気にしなくていいです(もちろん、それなりの作法はありますが)。
女クラスではnameという変数が本名として使われているかもしれませんが、ビッチクラスではnameは源氏名や芸名かもしれません。

さて、ビッチクラスを継承した「神崎」というクラスを作るとします。
この神崎に、何を思ったかグラドルの機能をつけてほしいという要望がきました。
というわけで、ビッチクラスを継承しつつグラドルクラスも継承しました。
このように複数のクラスを継承するコトを「多重継承」といいます。
便利な機能ですが、その分、コードが複雑になりやすいという弱点もあります。
コードが複雑になると、バグにもつながります。
残念ながら神崎クラスを使ったプログラム「香織ver1.0」はバグが発生してしまいました。
これを修正するには、かなりの腕の整形外科医...いえ、PGが必要になるでしょう。

C++では多重継承が可能ですが、Javaでは不可能です。
多重継承の有無で言語が優秀かどうかを判断するのはナンセンスですが、上記の理由もあり初心者にはJavaのほうが向いているでしょう。

オブジェクト指向について全て説明すると本一冊書けてしまいます。継承も上記が全てというわけではありません。
興味があるなら、入門書を買って勉強したほうが早いです。理解できなかったら、才能がないので諦めましょう。

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2011年04月23日 19:01