クラス

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
学級のクラスと階級のクラスについても説明した方がいいのでは?
10 ななしのよっしん
2020/10/24(土) 22:34:00 ID: WntUi5DBoB
ウルトラマンタイガはほかの2人が経験豊富な年上に加えてはっきりしたパワータイプとあらごとに慣れてる常識人スピードタイプと得意不得意がはっきりしてるからべられるとかわいそうではあるよな。なんというか器用貧乏というか…
まあもっとものび太くんタイプ…なんだろうけど彼の場合ヒーロー的な資質を持つメンタルの持ちで恐らく漫画界でも1、2を争う凄腕ガンマンという強みもあるがこの子はそれすらないって…ダメな子程可愛いというやつか女の子だしな
そういやこの子も80先生の授業習ってたのだろうか?
そして戦闘力でも多分同じウルトラウーマン年齢も下のグリージョにも劣ってるあたり哀愁を感じる…
11 ななしのよっしん
2020/12/12(土) 07:04:52 ID: E72Rmkm3Sj
Aクラスの上にSクラス
これ自体は戦前からあったらしいがサブカルに定着したのは幽遊白書が契機だと思ってる
ARMSナノマシンみたいな感じで
12 ななしのよっしん
2021/04/20(火) 18:39:58 ID: xsBUawWmiL
余代数=クラス
クラス=代数
らしい
13 ななしのよっしん
2021/05/08(土) 12:11:00 ID: owoiftRrFs
会社と社員の例はクラスモジュールの違いの説明に終始していて、クラス自体の性質にはあまり触れていないように思います。それにクラスモジュールの説明も何かの言実装を念頭においている印があり、言によってはあてはまらないのではと感じます。

今回、ダイヤモンド継承問題を取り上げて、そこから単一継承、インターフェース、抽クラスの説明をする編集を予定していますが、以下の一部もしくは全部を実施して記述を整理したいと思います。

会社と社員の例は止もしくは「クラスモジュールの違い」としてモジュールの記事に移動。
クラスについてはクラス(プログラミング)もしくはクラス(オブジェクト指向)として分離。
上記ダイヤモンド継承問題等の説明。

特に反対意見が出なければ、2021年5月23日0時以降の任意のタイミングで実施いたします。

急上昇ワード改