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.

ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数

461 views

Published on

オブジェクト指向を文法からではなく、自然言語的に分かりやすく文系的に解説する講座です。と言いつつ分かりやすくなかったらゴメンナサイ。需要があれば続けます。

今回は、コンストラクタの引数についてです。

Published in: Engineering
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数

  1. 1. ジーノ先生の 文系的オブジェクト指向 (2) コンストラクタの引数 option
  2. 2. 自己紹介 • オブジェクト指向はむしろ文系向けと考える職業プログラマ • 受託系IT企業、ゲーム開発会社などで働く • 主な使用言語 • Java / C/C++ / C# / VB • html / css / javascript / php / mysql • 趣味でゲームアプリを作ったりもするので、絵も描く • ジーノ先生はLine のスタンプ http://line.me/S/sticker/1015414
  3. 3. JavaScript のライブラリでよく見るパターン • コンストラクタの引数が1つだけ 分かってる人から見ると何でもないですが、なぜそういう実装になっているのでしょう? 優れた実装が「なぜそのような実装になっているか」を理解することで自分のプログラムの 設計にも応用できるかもしれません。 デザインパターンを勉強しろと言われるのはこういう理由からなのですが、身近な例の方が 学びやすいと思います。 例) http://docs.dev7studios.com/jquery-plugins/caroufredsel // Using custom configuration $('#carousel').carouFredSel({ items : 2, direction : "up", scroll : { items : 1, easing : "elastic", duration : 1000, pauseOnHover : true } });
  4. 4. 実際に設計してみましょう • 前回はプロパティに名前のみを持つクラスを作成 class Sheep { String mName; // 名前 // コンストラクタ。オブジェクト生成時に呼び出される public Sheep(String name) { mName = name; } } • 今回は、身長と体重も定義できるようにしてみましょう
  5. 5. まずはそのまま • 身長・体重の定義を追加しました class Sheep { String mName; // 名前 float mHeight; // 身長 float mWeight: // 体重 // コンストラクタ。オブジェクト生成時に呼び出される public Sheep(String name, float height, float weight) { mName = name; mHeight = height; mWeight = weight; } }
  6. 6. 何かを追加する毎に、 コンストラクタと、オブジェクト生成している箇所を全修正が発生!?
  7. 7. めんどうだけど一手間かけます • Option を追加 • 人に物を頼む時はだらだら頼まず、まとめたメモを渡しますよね? class Sheep { public static class Option { public String mName; // 名前 public float mHeight; // 身長 public float mWeight: // 体重 }; String mName; // 名前 float mHeight; // 身長 float mWeight: // 体重 // 初期属性はOption で定義。 public Sheep(Sheep.Option option) { mName = option.mName; mHeight = optoin.mHeight; mWeight = option.mWeight; } }
  8. 8. ではジーノ先生を作りましょう Sheep.Option option = new Sheep.Option(); option.mName = ”ジーノ”; option.mWeight = 60.0f; optoin.mHeight = 60.0f; Sheep jino = new Sheep(option); • あれ?JavaScript 版の無駄のない便利さから遠のいてる・・・ • 実装方法は更なる検討が必要そうです。 • HashMapを使うのが近そうですが、Java的には・・・? • 今回の講座では各言語の立ち入った文法は扱わないのでここまでです。
  9. 9. まとめ • よいものに感動しましょう。 • 大事なのは無感動にコピペしようとしないこと。 • きちんと理解して自分の設計に応用しましょう。

×