Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

オブジェクト指向最強

4,684 views

Published on

  • Be the first to comment

オブジェクト指向最強

  1. 1. はがねのつるぎ
  2. 2. <ul><li>フリーランスなエンジニア </li></ul><ul><li>@IT 自分戦略研究所コラムニスト </li></ul><ul><ul><li>「フリーなスキル」 </li></ul></ul><ul><ul><li>http://el.jibun.atmarkit.co.jp/freeskill/ </li></ul></ul><ul><ul><li>「晴読雨読」 書評 </li></ul></ul>
  3. 3. <ul><li>世界をどのようにみるか? </li></ul><ul><ul><li>データ指向プログラミング </li></ul></ul><ul><ul><li>構造化プログラミング </li></ul></ul><ul><ul><li>手続き型プログラミング </li></ul></ul><ul><ul><li>関数型プログラミング </li></ul></ul><ul><ul><li>イベント駆動型プログラミング </li></ul></ul><ul><ul><li>アスペクト指向プログラミング </li></ul></ul><ul><ul><li>オブジェクト指向プログラミング </li></ul></ul>
  4. 4. <ul><li>オブジェクト指向(オブジェクトしこう)とは、オブジェクト同士の相互作用としてシステムの振る舞いをとらえる考え方である。英語の object-oriented ( 直訳は、「対象物志向の」・「目的重視の」という意味の形容詞 ) の日本語訳である。 </li></ul><ul><li>wikipedia より </li></ul>
  5. 5. <ul><li>KISS </li></ul><ul><ul><li>シンプルで美しい </li></ul></ul><ul><li>MECE </li></ul><ul><ul><li>モレなくダブりなく </li></ul></ul>
  6. 6. <ul><li>論理的に美しいプログラム </li></ul><ul><li>ありえない </li></ul><ul><ul><li>バグがバグを呼ぶ </li></ul></ul><ul><ul><li>バグ修正->全然違うところでバグがでる </li></ul></ul><ul><li>これは仕方がない </li></ul><ul><ul><li>ケアレスミス </li></ul></ul><ul><ul><li>設計漏れ </li></ul></ul><ul><ul><li>仕様漏れ </li></ul></ul>
  7. 7. <ul><li>情報隠蔽 </li></ul><ul><ul><li>カプセル化 </li></ul></ul><ul><li>多態性 </li></ul><ul><ul><li>ポリモルフィズム </li></ul></ul><ul><li>継承 </li></ul><ul><ul><li>インヘリタンス </li></ul></ul><ul><li>再利用性 </li></ul><ul><ul><li>デザインパターン </li></ul></ul>
  8. 8. <ul><li>int 型の限界 (32bit) </li></ul><ul><ul><li>-2147483648 ~ 2147483647 </li></ul></ul><ul><li>long 型の限界 (64bit) </li></ul><ul><ul><li>-9223372036854775808 ~ 9223372036854775807 </li></ul></ul><ul><li>普通は bit 数に縛られる </li></ul><ul><li>浮動小数点 </li></ul>
  9. 9. <ul><li>数値がオブジェクト </li></ul><ul><li>bit 数を意識しなくてよい </li></ul><ul><li>BigDecimal BIgInteger </li></ul><ul><li>学術的な精度を求めるなら常識 </li></ul><ul><li>お金の計算するなら常識 </li></ul>
  10. 10. <ul><li>具体的なアルゴリズムは知らなくてよい </li></ul><ul><li>でもホントはスゴく知っている </li></ul><ul><ul><li>任意精度演算 </li></ul></ul><ul><ul><li>数値オブジェクトのアルゴリズム </li></ul></ul><ul><li>正確に言うと実装時に気にしない </li></ul>
  11. 11. <ul><li>情報隠蔽 </li></ul><ul><ul><li>カプセル化 </li></ul></ul><ul><li>多態性 </li></ul><ul><ul><li>ポリモルフィズム </li></ul></ul><ul><li>継承 </li></ul><ul><ul><li>インヘリタンス </li></ul></ul><ul><li>再利用性 </li></ul><ul><ul><li>デザインパターン </li></ul></ul>
  12. 12. <ul><li>アイディア </li></ul><ul><ul><li>他人のアイディアの組み合わせ </li></ul></ul><ul><li>疎結合なオブジェクト </li></ul><ul><li>再利用性の高さが組み合わせを可能にする </li></ul>
  13. 13. <ul><li>計算機オブジェクト </li></ul><ul><ul><li>ようするに電卓 </li></ul></ul><ul><li>音声合成オブジェクト </li></ul><ul><ul><li>ようするに初音ミク </li></ul></ul>
  14. 14. <ul><li>電卓+音声合成=? </li></ul>
  15. 15. <ul><li>情報隠蔽 </li></ul><ul><ul><li>カプセル化 </li></ul></ul><ul><li>多態性 </li></ul><ul><ul><li>ポリモルフィズム </li></ul></ul><ul><li>継承 </li></ul><ul><ul><li>インヘリタンス </li></ul></ul><ul><li>再利用性 </li></ul><ul><ul><li>デザインパターン </li></ul></ul>
  16. 16. 時間がないので <ul><li>省略 </li></ul>
  17. 17. <ul><li>情報隠蔽 </li></ul><ul><ul><li>カプセル化 </li></ul></ul><ul><li>多態性 </li></ul><ul><ul><li>ポリモルフィズム </li></ul></ul><ul><li>継承 </li></ul><ul><ul><li>インヘリタンス </li></ul></ul><ul><li>再利用性 </li></ul><ul><ul><li>デザインパターン </li></ul></ul>
  18. 18. <ul><li>オブジェクト指向を学んだら </li></ul><ul><li>絶対に一度は考えたことがあるハズ…… </li></ul>
  19. 19. <ul><li>一子相伝が継承できるんじゃね? </li></ul>
  20. 20. <ul><li>電卓と北斗神拳が出会ったら? </li></ul>
  21. 21. <ul><li>世紀末救世主伝説版 </li></ul>
  22. 22. <ul><li>北斗神拳を継承したオブジェクトである </li></ul>

×