Submit Search
Upload
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
•
Download as PPTX, PDF
•
3 likes
•
943 views
Satoru Kodaira
Follow
オブジェクト指向を文法からではなく、自然言語的に分かりやすく文系的に解説する講座です。と言いつつ分かりやすくなかったらゴメンナサイ。需要があれば続けます。
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 10
Download now
Recommended
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
Wataru Terada
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
hakoika-itwg
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
hakoika-itwg
オブジェクト指向最強
オブジェクト指向最強
haganemetal
オブジェクト指向とは何ですか?
オブジェクト指向とは何ですか?
sumim
オブジェクト指向入門1
オブジェクト指向入門1
Kenta Hattori
第1回 モデリング勉強会
第1回 モデリング勉強会
hakoika-itwg
Recommended
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
Wataru Terada
第2回勉強会 オブジェクト指向
第2回勉強会 オブジェクト指向
hakoika-itwg
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
hakoika-itwg
オブジェクト指向最強
オブジェクト指向最強
haganemetal
オブジェクト指向とは何ですか?
オブジェクト指向とは何ですか?
sumim
オブジェクト指向入門1
オブジェクト指向入門1
Kenta Hattori
第1回 モデリング勉強会
第1回 モデリング勉強会
hakoika-itwg
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
Shoichi Matsuda
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
設計してますか?
設計してますか?
ke-m kamekoopa
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017
Motohiro Ueki
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
Koichi Inami
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
データモデリング入門-astah*を使って、TMの手法を使う-
データモデリング入門-astah*を使って、TMの手法を使う-
Koichi Inami
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る
Satoru Kodaira
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
Web技術勉強会 20110514
Web技術勉強会 20110514
龍一 田中
Rとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指す
yuta july
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
JavaScript超入門 基礎
JavaScript超入門 基礎
tetsu6
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
hakoika-itwg
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
More Related Content
What's hot
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
Shoichi Matsuda
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
設計してますか?
設計してますか?
ke-m kamekoopa
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
オブジェクト指向設計の原則
オブジェクト指向設計の原則
Toru Koido
クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017
Motohiro Ueki
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
Koichi Inami
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
データモデリング入門-astah*を使って、TMの手法を使う-
データモデリング入門-astah*を使って、TMの手法を使う-
Koichi Inami
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
pospome
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る
Satoru Kodaira
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
Web技術勉強会 20110514
Web技術勉強会 20110514
龍一 田中
Rとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指す
yuta july
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
JavaScript超入門 基礎
JavaScript超入門 基礎
tetsu6
What's hot
(20)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
設計してますか?
設計してますか?
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
オブジェクト指向設計の原則
オブジェクト指向設計の原則
クイズ・Python勝ち抜きバトル pycon jp_2017
クイズ・Python勝ち抜きバトル pycon jp_2017
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
データモデリング入門【実習編】-astah*を使って、TMの手法を使う-
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
データモデリング入門-astah*を使って、TMの手法を使う-
データモデリング入門-astah*を使って、TMの手法を使う-
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
Goのサーバサイド実装におけるレイヤ設計とレイヤ内実装について考える
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る
ジーノ先生の文系的オブジェクト指向(5) - ジーノ先生、殴る
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Web技術勉強会 20110514
Web技術勉強会 20110514
Rとpythonとjuliaで機械学習レベル4を目指す
Rとpythonとjuliaで機械学習レベル4を目指す
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
JavaScript超入門 基礎
JavaScript超入門 基礎
Viewers also liked
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
hakoika-itwg
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
Ryo Miyake
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
Mao Ohnishi
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
Anto Mioyama
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
Satoru Kodaira
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
tadaaki hayashi
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
Fujio Kojima
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
hakoika-itwg
Viewers also liked
(10)
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
第2回 モデリング勉強会
第2回 モデリング勉強会
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
Similar to ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Alluren of prototype-based OOP
Alluren of prototype-based OOP
azuma satoshi
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
Kohei Taniguchi
P5js web editorで、クリエイティブコーディングを!
P5js web editorで、クリエイティブコーディングを!
Suzuki Junko
(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#
ssusera3d157
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
parrotstudio
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみた
Hiroshi Maekawa
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発
Atsushi Kojima
辛い開発を色々使って迂回した話
辛い開発を色々使って迂回した話
s2otsa
この中に1人、素人がいる!
この中に1人、素人がいる!
infinite_loop
Careerselect 3/30
Careerselect 3/30
saitojun2
Go 言語を語ってみるか
Go 言語を語ってみるか
Akihiko Matuura
TENTO 2012/01 筑波大学プレゼン資料
TENTO 2012/01 筑波大学プレゼン資料
Shinichi Kusano
Weekend Androidのススメ
Weekend Androidのススメ
Suzuki Junko
プログラミングはじめの一歩 先生:関根 元和
プログラミングはじめの一歩 先生:関根 元和
schoowebcampus
Windows ストアアプリを作ろう ~Metroスタイルアプリ入門~ (2012/09/29)
Windows ストアアプリを作ろう ~Metroスタイルアプリ入門~ (2012/09/29)
T. Kodaka
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
実践アニメーション
実践アニメーション
Naoya Yunoue
CVPR2018 参加報告(速報版)2日目
CVPR2018 参加報告(速報版)2日目
Atsushi Hashimoto
Django と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMS
Iosif Takakura
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
Hiroshi Toda
Similar to ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
(20)
Alluren of prototype-based OOP
Alluren of prototype-based OOP
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
オブジェクト指向プログラマが今関数型言語を学ばないといけない理由
P5js web editorで、クリエイティブコーディングを!
P5js web editorで、クリエイティブコーディングを!
(超初心者向け)オブジェクト指向とC#
(超初心者向け)オブジェクト指向とC#
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
C#erがF#に這い寄ってみた
C#erがF#に這い寄ってみた
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発
辛い開発を色々使って迂回した話
辛い開発を色々使って迂回した話
この中に1人、素人がいる!
この中に1人、素人がいる!
Careerselect 3/30
Careerselect 3/30
Go 言語を語ってみるか
Go 言語を語ってみるか
TENTO 2012/01 筑波大学プレゼン資料
TENTO 2012/01 筑波大学プレゼン資料
Weekend Androidのススメ
Weekend Androidのススメ
プログラミングはじめの一歩 先生:関根 元和
プログラミングはじめの一歩 先生:関根 元和
Windows ストアアプリを作ろう ~Metroスタイルアプリ入門~ (2012/09/29)
Windows ストアアプリを作ろう ~Metroスタイルアプリ入門~ (2012/09/29)
とある Perl Monger の働き方
とある Perl Monger の働き方
実践アニメーション
実践アニメーション
CVPR2018 参加報告(速報版)2日目
CVPR2018 参加報告(速報版)2日目
Django と Wagtail で作る Headless CMS
Django と Wagtail で作る Headless CMS
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
がんばらない多言語化 @ FuelPHP&CodeIgniter ユーザの集い #7
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
1.
ジーノ先生の 文系的オブジェクト指向 (1)
ジーノ誕生 class / object / constructor
2.
自己紹介 • オブジェクト指向はむしろ文系向けと考える職業プログラマ
• 受託系IT企業、ゲーム開発会社などで働く • 主な使用言語 • Java / C/C++ / C# / VB • html / css / javascript / php / mysql • 趣味でゲームアプリを作ったりもするので、絵も描く • ジーノ先生はLine のスタンプ http://line.me/S/sticker/1015414
3.
ジーノ先生は『ヒツジでジーノ』 • 作りたい物から考える
本講座ではプログラムが必要な場面ではJava で説明しますが、必要以 上に文法の説明はしません。 プログラム的考え方をすると文系的(自然言語的)な考え方から遠のくと 思います。 • 今回作りたいモノは『ジーノという名前のヒツジ』 mName というproperty を持つ、ヒツジclass を設計します。
4.
ヒツジのジーノ • 一言でヒツジと言っても個体差があります。
• 「ひつじ」とgoogle 検索すると「ショーン」がサジェストされます。 • シープだと、「ストレイ」などが出てきます。 正直、うらやましいです。 →ヒツジである、ショーンでもストレイでもないジーノを表現する 設計を考えます。
5.
ヒツジクラスの名前属性 • ヒツジがクラス
• クラスとは分類のことで、犬、猫、羊なんかをクラスとして定義します。 • 「ジーノ」「ショーン」「ストレイ」などは属性 • 属性というと、某パズルゲームの火属性とか水属性とかが有名。 • その物体が、どのような特性を持つかを定義するのが、特性や属性。 • 火属性などの属性はもちろん、名前も特性や属性の一部。 • 教科書用語としては、アトリビュートやプロパティが使われています。 • 属性:アトリビュート/ attribute • 特性:プロパティ/ property Sheep 名前
6.
ヒツジclass を設計 class
Sheep { String mName;// 名前 // コンストラクタ。オブジェクト生成時に呼び出される public Sheep() { } // 名前取得 public String getName() { return mName; } } 作ってみましたが、このままではジーノと名付けられなそうです。
7.
名付ける • 生まれた時から名前はついているの?
• もしそうなら、コンストラクタに実装 • 名前は後でつくの? • もしそうなら、名前付けメソッドを実装 • 女性なら結婚したら名前変わるよね? • 名前つけではなく、名前変更メソッドを実装 • 使われる場所が限定されているのが分かる様に。
8.
ヒツジclass を設計(2) class
Sheep { String mName; // 名前 // コンストラクタ。オブジェクト生成時に呼び出される public Sheep(String name) { mName = name; } // 名前取得 public String getName() { return mName; } // 名前変更 public void rename(String name) { mName = name; } }
9.
ではジーノ先生(他)を作りましょう Sheep jino
= new Sheep(“ジーノ”); Sheep stray = new Sheep(“ストレイ”); Sheep shone = new Sheep(“ショーン”); System.out.println(“私の名前は” + jino.getName()); System.out.println(“私の名前は” + stray.getName()); System.out.println(“私の名前は” + shone.getName()); • jino / stray / shone がobject class は作りたいモノの定義で、実際に作られたものをobject と言います。 object の事をinstance と言い、生成することをinstance 化と言うことも。 Sheep 名前 Sheep ジーノ Sheep ストレイ Sheep ショーン 生成(instance化) class object (instance)
10.
まとめ • いわゆる技術書と異なる切り口での解説でした。
• 大事なのは丸暗記しようとしないことです。 • 仕様を整理整頓して分解、再構築してください。 • 結果としてプログラムができるイメージを。
Download now