狠狠撸

狠狠撸Share a Scribd company logo
わんくま同盟 東京勉強会 #26 - LT大集合!!
オブジェクト指向の概念を
北斗の拳の世界で説明
比喩の乱用であるわけですが、
ネタとして楽しんで下さい
といいながらも、微妙(T-T)

   わんくま同盟 東京勉強会 #26 - LT大集合!!
登場キャラクターたち
北斗の戦士
 ケンシロウ、トキ、ラオウ、ジャギ
南斗の戦士
 シン、レイ、サウザー、ユダ、シュウ
 ユリア
五車星
 ジュウザ、ヒューイ、シュレン、
 リハク、フドウ

    わんくま同盟 東京勉強会 #26 - LT大集合!!
オブジェクト指向の
    三大要素
1.クラス(カプセル化)
2.継承
3.ポリモーフィズム(多態性)

   わんくま同盟 東京勉強会 #26 - LT大集合!!
クラスって何?
 クラスとは、データと操作の集まりであり、
 オブジェクトの設計図となるものです。
                     鯛焼きの鋳型
                      (クラス)


インスタンス                 鯛焼きを焼く
                          (New)
 って何?                              鯛焼き
                                  (インスタンス)
実体だよ。

 プロパティ:具の種類
 小倉あん?抹茶あん、栗あん、チョコレート、カスタードクリーム


        わんくま同盟 東京勉強会 #26 - LT大集合!!
クラス化
?人間(能力は人間離れであるが???)
?拳法(北斗神拳、南斗聖拳など)
 流派によって、いろいろ存在する
?ストーリー進行管理
?その他

     わんくま同盟 東京勉強会 #26 - LT大集合!!
クラス   人間
プロパテイ 設定例
  名前 ラオウ            病気
  性別 男              心臓の位置
  通称 世紀末覇者拳王        死兆星の可視
  組織 拳王軍            持ち物 黒王(馬)
                    ???
 所属 拳王軍団
 流派 北斗神拳           メソッド
 特徴 巨大な黒い馬           特技
                     戦う
    に乗っている
                     ???
 愛    5%
       わんくま同盟 東京勉強会 #26 - LT大集合!!
インスタンス化
インスタンス化するには、newキーワード
を使います。
例 Dim ケンシロウ As new 人間()
                   メモリ上の領域
インスタンス(実体)            クラス(設計図)
                         人間
         ケンシロウ
                       - プロパティ
                       + メソッド
   ラオウ           トキ


    ユリア      シュウ




           わんくま同盟 東京勉強会 #26 - LT大集合!!
継承って何?
継承は、既に定義されているクラスを
もとに拡張や変更を加えた新しいクラス
を定義します。インヘリタンスとも言う

インターフェイスって何?
通常の継承が「実装の継承」であるのに
対して、「型の継承」となります。
ある意味、空っぽのクラスといった感じ
でしょうか
    わんくま同盟 東京勉強会 #26 - LT大集合!!
継 承
 拳法クラス
  北斗神拳        南斗聖拳
  北斗琉拳        元斗皇拳
  その他拳法
動物は猫を汎化(親←子)したものである。
猫は動物を特化(子←親)したものである。
    わんくま同盟 東京勉強会 #26 - LT大集合!!
ポリモーフィズムって何?
  利用したい側は同じ操作で利用したいが、
  操作の機能は違うものを扱う仕組みです。
   ポリモーフィズムとサブルーチンの違い
 共通サブルーチン       呼び出す側A    呼び出す側B    呼び出す側C
 呼び出す側が増えても
 呼び出される側を修正
 する必要がない
                          呼び出される側

 ポリモーフィズム                  呼び出す側

  呼び出される側が増え
  ても、呼び出す側を
  修正する必要がない
               呼び出される側X   呼び出される側Y 呼び出される側Z

オーバーライド(再定義)により中身を書換え、違う動作が可能となる

          わんくま同盟 東京勉強会 #26 - LT大集合!!
実装?実行
Dim ケンシロウ As new 人間()
Dim ジード As new 人間()

省略、プロパティをセットしたこととする。

ケンシロウ.特技.拳法 = new 拳法(北斗神拳)
ケンシロウ.対戦相手 = ジート
ケンシロウ.戦う()


        わんくま同盟 東京勉強会 #26 - LT大集合!!
ジードの攻撃

リンを人質にとる

この直後リンが「ケーン!」と叫ぶ

    わんくま同盟 東京勉強会 #26 - LT大集合!!
ケンシロウの攻撃
あたあ! !
あたたたたたたっ! !
ほおあ!
あたっあ! !
   わんくま同盟 東京勉強会 #26 - LT大集合!!
わんくま同盟 東京勉強会 #26 - LT大集合!!
おまえはもう
???
死んでいる!
 わんくま同盟 東京勉強会 #26 - LT大集合!!

More Related Content

北斗の拳の世界をオブジェクト指向で