クラス

1 ななしのよっしん
2009/02/16(月) 19:10:12 ID: ZCBTEz2SnD
ニコ動オブジェクト指向なんて言葉を見るとは思わなんだw
概要ももはや嫌がらせだなw
2 Y2
◆Qxyaj2xnKE 2009/06/13(土) 09:07:18 ID: 3Pi7rRR5At
記事に使えるクラスの詳細きぼんぬ
3 ななしのよっしん
2010/08/20(金) 15:12:48 ID: yPbJTH2XMy
概要でもわかるように翻訳してくれ
4 ななしのよっしん
2010/11/02(火) 18:54:59 ID: Q4ZMoD6o6P
>>3
つたない(&独学)で理解してもらえるかはわからないが、
ネトゲキャラなんかはいい例だと思う。

たとえば「戦士」という職業があったとする。
もちろん戦士にはりかかるとかで防御するとか、そういった動作ができなきゃいけない。
他にも、HPMPといったパラメータや装備品といった情報
持ってなきゃいけない。

これらをひっくるめてパッケージにしたのが「クラス

で、こいつを雛形にして作られる実体が「インスタンス
いわば「戦士のA君」とか「戦士のB君」とかがインスタンス
どちらも同じ機やパラメータを持っているけど、個々の中身は違う。
(A君とB君では装備品やレベルなんかが違ってるはず。)

同様に、「魔法使い」「僧侶」「盗賊」なんてクラスも作れるんだけど、
そもそもどんなキャラ(それこそモンスターですら)もHPMP
名前なんかは絶対に持っていなければいけないんだから

それらをまとめて「キャラクタークラスを作り
キャラクタークラスに個々の違いを付け足すことで
ソースコードの大半を共有して管理しやすくできる。
これが「継承」。
継承はクラスに付け足すだけじゃなくて、複数のクラスを混ぜてもいい

キャラクタークラス+「る」→「戦士クラス
キャラクタークラス+「魔法を使う」→「魔法使いクラス
戦士クラス+「魔法使いクラス→「魔法戦士クラス
(ただし、最後はダイヤモンド継承になるから設計としては余りよろしくないかも)
5 ななしのよっしん
2011/01/22(土) 21:15:21 ID: dBPvtZqmiX
>>4
厳密に言えば、「ソースコードの共有」は手段であって的ではないと思う。
いわゆるダックタイピングが示すように「概念を共有する」(ことによって思考を簡素化する)のが重要で、
なるべくなら実装の詳細はそれとは独立に考えられるのが理想。

せっかくだからキャラクターメイキングで言えば、
「こうげき」というコマンドがあった時に、
を振るのか、格闘技で戦うのかはキャラクタークラスによって決まるわけだが、
通常攻撃という大きな括りでは同じものなので、「インターフェースは同じで良いだろJK」としておき、
中身の計算式はクラス別に特化した物を使う、と
(武道は武器もつと攻撃が下がるとか)

ただ、「戦士」ー>「戦士」みたいに基本的にはアッパーコパチな関係がある場合、
「計算は前職と同じです」として楽をする事ができる。
これがソースコードの共有。基本結果的にそうなるのであって、最初からこれをすと大概良くない設計になる。

ちなみに、この例だと「こうげき」は大きく括れるとしているけど、
ロマサガみたいなゲームだと理だからね、と一応つっこんでおく。
6 ななしのよっしん
2011/07/30(土) 09:05:25 ID: DlCzzatqs8
クラスの皆には、内緒だよっ
7 ななしのよっしん
2011/07/30(土) 10:05:38 ID: zp4a/Z6548
クラスチェンジとかもうクラクラっす
8 ななしのよっしん
2011/08/01(月) 11:26:19 ID: zkxi1Lw5pE
歌手classにも触れてあげてください。
9 ゲマ♂
2012/12/07(金) 09:38:09 ID: srzeVHJmaP
学級のクラスと階級のクラスについても説明した方がいいのでは?

急上昇ワード