Soumettre la recherche
Mettre en ligne
第2回勉強会 オブジェクト指向
•
6 j'aime
•
3,692 vues
H
hakoika-itwg
Suivre
はこだてIKA 第2回夜間勉強会で使用した資料です。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 63
Recommandé
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
設計してますか?
設計してますか?
ke-m kamekoopa
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
増田 亨
Recommandé
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
良質なコードを高速に書くコツ
良質なコードを高速に書くコツ
Shunji Konishi
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
増田 亨
ドメイン駆動設計(DDD)の実践Part2
ドメイン駆動設計(DDD)の実践Part2
増田 亨
設計してますか?
設計してますか?
ke-m kamekoopa
ソフトウェア開発のやり方の改善
ソフトウェア開発のやり方の改善
増田 亨
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
増田 亨
ソフトウェア設計の学び方を考える
ソフトウェア設計の学び方を考える
増田 亨
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
ドメインモデルの育て方
ドメインモデルの育て方
増田 亨
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
Recruit Lifestyle Co., Ltd.
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
増田 亨
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
増田 亨
オブジェクト指向入門1
オブジェクト指向入門1
Kenta Hattori
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
Koichiro Matsuoka
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Takuya Sato
今から始める Lens/Prism
今から始める Lens/Prism
Naoki Aoyama
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
Mao Ohnishi
Contenu connexe
Tendances
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
増田 亨
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
増田 亨
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
増田 亨
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
増田 亨
ドメインモデルの育て方
ドメインモデルの育て方
増田 亨
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
Recruit Lifestyle Co., Ltd.
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
増田 亨
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
増田 亨
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
Koichiro Matsuoka
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
増田 亨
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
増田 亨
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
増田 亨
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
増田 亨
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
増田 亨
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
増田 亨
オブジェクト指向入門1
オブジェクト指向入門1
Kenta Hattori
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
Tadayoshi Sato
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
Koichiro Matsuoka
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
Takuya Sato
今から始める Lens/Prism
今から始める Lens/Prism
Naoki Aoyama
Tendances
(20)
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
オブジェクト指向プログラミング入門 -- Java object-oriented programming primer
世界でいちばんわかりやすいドメイン駆動設計
世界でいちばんわかりやすいドメイン駆動設計
ドメイン駆動設計のためのオブジェクト指向入門
ドメイン駆動設計のためのオブジェクト指向入門
オブジェクト指向の設計と実装の学び方のコツ
オブジェクト指向の設計と実装の学び方のコツ
ドメインモデルの育て方
ドメインモデルの育て方
Flutter移行の苦労と、乗り越えた先に得られたもの
Flutter移行の苦労と、乗り越えた先に得られたもの
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
3週連続DDDその1 ドメイン駆動設計の基本を理解する
3週連続DDDその1 ドメイン駆動設計の基本を理解する
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
DDDのモデリングとは何なのか、 そしてどうコードに落とすのか
ドメイン駆動設計という設計スタイル
ドメイン駆動設計という設計スタイル
ドメイン駆動設計 ( DDD ) をやってみよう
ドメイン駆動設計 ( DDD ) をやってみよう
アジャイルなソフトウェア設計を目指して
アジャイルなソフトウェア設計を目指して
ドメイン駆動設計 基本を理解する
ドメイン駆動設計 基本を理解する
ドメイン駆動設計の学習曲線とブレークポイント
ドメイン駆動設計の学習曲線とブレークポイント
ちいさなオブジェクトでドメインモデルを組み立てる
ちいさなオブジェクトでドメインモデルを組み立てる
オブジェクト指向入門1
オブジェクト指向入門1
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
DDDはオブジェクト指向を利用してどのようにメンテナブルなコードを書くか
設計と実装で 抑えておきたい サービスクラスと例外
設計と実装で 抑えておきたい サービスクラスと例外
今から始める Lens/Prism
今から始める Lens/Prism
En vedette
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
Hokuto Tateyama
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
Mao Ohnishi
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
Anto Mioyama
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
Satoru Kodaira
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
Satoru Kodaira
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
Fujio Kojima
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
tadaaki hayashi
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
Wataru Terada
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
hakoika-itwg
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
文樹 高橋
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
VOYAGE GROUP
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
hakoika-itwg
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
Ryo Miyake
第1回 モデリング勉強会
第1回 モデリング勉強会
hakoika-itwg
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
nomuken
第2回 モデリング勉強会
第2回 モデリング勉強会
hakoika-itwg
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
hakoika-itwg
En vedette
(17)
デジタルメディア創作部勉強会「オブジェクト指向入門1」
デジタルメディア創作部勉強会「オブジェクト指向入門1」
オブジェクト指向ワークショップ 201507版
オブジェクト指向ワークショップ 201507版
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(1) - ジーノ誕生
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
ジーノ先生の文系的オブジェクト指向(2) - コンストラクタの引数
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
F流『オブジェクト指向の考え方の基礎の基礎』~ソフトウェア開発の原則編~
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
06 オブジェクト指向の基礎
06 オブジェクト指向の基礎
Phpではじめるオブジェクト指向(公開用)
Phpではじめるオブジェクト指向(公開用)
バージョン管理#01 -Subversion編-
バージョン管理#01 -Subversion編-
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
第1回 モデリング勉強会
第1回 モデリング勉強会
オブジェクト指向勉強会(基礎)
オブジェクト指向勉強会(基礎)
第2回 モデリング勉強会
第2回 モデリング勉強会
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
第8回勉強会 開発プロセス 「計画ゲーム~ふりかえり」
Similaire à 第2回勉強会 オブジェクト指向
オブジェクト指向についてあまり知られていないこと
オブジェクト指向についてあまり知られていないこと
Yoichi Toyota
論文紹介:Human Hands As Probes for Interactive Object Understanding
論文紹介:Human Hands As Probes for Interactive Object Understanding
Toru Tamaki
オブジェクト指向とは何ですか?
オブジェクト指向とは何ですか?
sumim
2018年度 若手技術者向け講座 オブジェクト指向01
2018年度 若手技術者向け講座 オブジェクト指向01
keki3
Webの勉強会#9
Webの勉強会#9
MarlboroLand
I
I
SOINN Inc.
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
Hajime Yanagawa
オブジェクト指向を完全に理解していない人がオブジェクト指向をモビルスーツに例えて話してみる
オブジェクト指向を完全に理解していない人がオブジェクト指向をモビルスーツに例えて話してみる
penseestokyo
Androidで学ぶ
Androidで学ぶ
Kensuke Onishi
【LiT Leaders】Android0309
【LiT Leaders】Android0309
Ryo Yamamoto
Similaire à 第2回勉強会 オブジェクト指向
(10)
オブジェクト指向についてあまり知られていないこと
オブジェクト指向についてあまり知られていないこと
論文紹介:Human Hands As Probes for Interactive Object Understanding
論文紹介:Human Hands As Probes for Interactive Object Understanding
オブジェクト指向とは何ですか?
オブジェクト指向とは何ですか?
2018年度 若手技術者向け講座 オブジェクト指向01
2018年度 若手技術者向け講座 オブジェクト指向01
Webの勉強会#9
Webの勉強会#9
I
I
モジュールの凝集度・結合度・インタフェース
モジュールの凝集度・結合度・インタフェース
オブジェクト指向を完全に理解していない人がオブジェクト指向をモビルスーツに例えて話してみる
オブジェクト指向を完全に理解していない人がオブジェクト指向をモビルスーツに例えて話してみる
Androidで学ぶ
Androidで学ぶ
【LiT Leaders】Android0309
【LiT Leaders】Android0309
Plus de hakoika-itwg
Version管理 1
Version管理 1
hakoika-itwg
第9回勉強会 Webセキュリティー
第9回勉強会 Webセキュリティー
hakoika-itwg
第8回勉強会 開発プロセス 「プロセス改善」
第8回勉強会 開発プロセス 「プロセス改善」
hakoika-itwg
第7回勉強会 ネットワークの基礎
第7回勉強会 ネットワークの基礎
hakoika-itwg
第6回勉強会 はじめてのデータベース
第6回勉強会 はじめてのデータベース
hakoika-itwg
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
hakoika-itwg
Plus de hakoika-itwg
(6)
Version管理 1
Version管理 1
第9回勉強会 Webセキュリティー
第9回勉強会 Webセキュリティー
第8回勉強会 開発プロセス 「プロセス改善」
第8回勉強会 開発プロセス 「プロセス改善」
第7回勉強会 ネットワークの基礎
第7回勉強会 ネットワークの基礎
第6回勉強会 はじめてのデータベース
第6回勉強会 はじめてのデータベース
第4回勉強会 単体テストのすすめ
第4回勉強会 単体テストのすすめ
Dernier
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Dernier
(8)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
第2回勉強会 オブジェクト指向
1.
オブジェクト指向(基礎)
2012/08/09 株式会社エスイーシー 香戸 寛雄
2.
イントロダクション
3.
皆さんについて教えてください ● お名前 ● 業務(学校)で使っている言語 ●
あなたは今、オブジェクト指向 をわかっている? (○ or ×)
4.
あなたはどっち? 「扉を開ける」あなたはどっちの書き方? 1. open(door)
2. door.open()
5.
あなたの指向は 1. open(door) 手続き指向です
「開ける」関数に「扉」構造体を渡してい ます 2. door.open() オブジェクト指向です 「扉」オブジェクトの「開ける」メソッドを呼 んでいます
6.
知ってる? オブジェクト指向の3原則って 知っていますか?
7.
オブジェクト指向の3原則 1. カプセル化
2. 継承 3. ポリモーフィズム
8.
でも・・・ 今回は「オブジェクト指向の3原則」には触 れません!
9.
さらに 「たい焼きの鋳型」がクラス、「たい焼き」は インスタンス! 的な意味のない例えも、今回は使いませ ん。
10.
本日のレジュメ
11.
1. オブジェクト指向とは (そんなにオブジェクト指向すごいのか?) ■■ 休憩 ■■ 2.
手続き型とオブジェクト型の 違い 本日のレジュメ
12.
1.オブジェクト指向とは
13.
ググってみた 「IT用語辞典 e-word」にはこ のように書かれています。 みんなで読み合わせてみましょ う
http://e-words. jp/w/E382AAE38396E382B8E382A7E382AFE3 8388E68C87E59091.html
14.
ソフトウェアの設計や開発にお いて、操作手順よりも操作対 象に重点を置く考え方。
オブジェクト指向【object oriented】
15.
関連するデータの集合と、それ に対する手続き(メソッド)を「オ ブジェクト」と呼ばれる一つの まとまりとして管理し、その組 み合わせによってソフトウェア を構築する。
オブジェクト指向【object oriented】
16.
1つのまとまりとして管理? 例えば、C言語においてライブ ラリ化した場合、1つのまとまり として管理されていないか? この考え方は、オブジェクト指 向だけの考え方か?
17.
すでに存在するオブジェクトについては、 利用に際してその内部構造や動作原理 の詳細を知る必要はなく、外部からメッ セージを送れば機能するため、特に大規 模なソフトウェア開発において有効な考 え方であるとされている。
オブジェクト指向【object oriented】
18.
詳細を知る必要がない? オブジェクト指向言語をつかっ ている皆様はそのような実装に なっている? 各言語の標準関数を使う場合 でも詳細を知る必要がある?
19.
大規模なソフトウェア開発に おいて有効? なぜ? ライブラリ化により、他言語でも 再利用性、汎用性はあがるの では? 設計、およびポリシーの問題な のでは?
20.
データやその集合を現実世界 の「モノ」になぞらえた考え方で あることから、「オブジェクト」指 向と呼ばれる。
オブジェクト指向【object oriented】
21.
現実世界の「モノ」になぞらえ た? 現実世界をプログラムの世界 に反映させるの?
22.
例えば、我々がテレビを操作する際には、テレビ 内部でどのような回路が働いているかを理解する 必要はない。ただテレビの操作方法だけを知って いれば、それでテレビを使うことができる。 すなわち、「テレビ」というオブジェクトは、自身(の 内部を構成する電子回路)を動作させる手続きを 知っており、それを利用するためには、(例えばリ モコンで)適切なメッセージを与えるだけでよい。
オブジェクト指向【object oriented】
23.
このように、何らかの「データ」 と、それを操作するための「メ ソッド」の組み合わせが「オブ ジェクト」である。
オブジェクト指向【object oriented】
24.
個々の操作対象に対して固有の操作方 法を設定することで、その内部動作の詳 細を覆い隠し、利用しやすくしようとする 考え方と言える。この考え方を応用した プログラミング技法が、オブジェクト指向 プログラミング(OOP)である。
オブジェクト指向【object oriented】
25.
どうでしょう? 一般的なオブジェクト指向の説明・・・ いかに抽象的でいかに曖昧か・・・ これでオブジェクト指向が理解できます か?
26.
オブジェクト指向とは! ● 大規模開発に向いている ● 再利用性がとても高い ●
保守性も高く、仕様変更に強 い ● 技術者として知るべきこと 本当??
27.
そんなわけない・・・
28.
オブジェクト指向って・・・ ● 必須?効率的?それはリーダーや製造
者次第では? ● Javaが誕生して17年、C言語は過去の ものとなった? ● 知らないより知っているほうが良いレベ ルなのでは? 所詮は道具
29.
オブジェクト指向って流行って いるの? 7月プログラミング言語人気
http://news.mynavi. jp/news/2012/07/10/012/index. html
30.
休憩
31.
手続き型とオブジェクト型の 違い
32.
オブジェクトって? ●
フィールドとは? ● メソッドとは? ● クラスとは? ● インスタンスとは? ● オブジェクトとは?
33.
オブジェクトとは ● フィールド:変数です ● メソッド:関数です ●
クラス:フィールドと関数を集めた定義 体です ● インスタンス:クラスをメモリに実体化し たものです ● オブジェクト:インスタンスの総称です (とりあえずはオブジェクト=インスタンスでOK)
34.
イントロダクションでのこと ● あなた自身がオブジェクト ● 名前、言語などが隠蔽化され
た情報 ● 私がお願いしたことがメソッド 呼び出し ● あなたの動作が処理
35.
どう つ・く・る? 画面をランダムに移動する街の住人 それぞれ向いている向きも違えば、外見も違う でも、同じ外見の人もいたりする こんな街の住人をプログラムで表現すると? <キーワード> ・住人 ・向き ・外見 ・移動する
36.
手続き型向の場合 ● 住人構造体を作成
(向き、外見に関する情報を保持) ● 「移動する」関数を作成 ● 「移動する」関数に住人構造体を渡す ● この処理を住人の数だけ繰り返す move(non_player)
37.
オブジェクト指向の場合 ● 住人クラスを作成
(向き、外見に関する情報を保持) ● 「移動する」メソッドを住人クラスに作成 ● 住人の数だけオブジェクトを作成しメソッドを呼 ぶ nonPlayer.move()
38.
もう少し考えてみよう では、次の処理を追加するとどうなる?
主人公を動かす
39.
手続き指向の場合 ● 主人公構造体を作成
(向き、外見に関する情報を保持) ● 「移動する」関数を作成 ● 「移動する」関数に主人公構造体と移動する方 向を渡す player_move(player, key)
40.
オブジェクト指向の場合 ● 主人公クラスを作成
(向き、外見に関する情報を保持) ● 「移動する」メソッドを主人公クラスに作成 ● 「移動する」メソッドを呼ぶ player.move(key)
41.
あれ・・・ なんか「移動する」っていろいろ 出てきそうだけど・・・ 「移動する」が増えれば増える ほど手続きの方って・・・ 設計次第だけどねw
42.
こ・ん・ど・は? 主人公の動きにこんな制約をつけます ・主人公の状態を追加 ・主人公の毒と言う状態がある ・主人公の状態が毒の場合、移動するごとにHPが減る
43.
手続き指向の場合 ● 主人公構造体に「状態」と「HP」の情報を追加 ● 「移動する」関数に「状態」により「HP」を減少さ
せる処理を追加 player_move(player, key)
44.
もしかしたら・・・ ● お仕事だったら、こんな風に書くかもね・・・ player_move(player, key) if(player.status
= poison){ player.hp = player.hp -20 } ※ 進行上、これはなかったことに
45.
オブジェクト指向の場合 ● 主人公クラスに「状態」と「HP」の情報を追加 ● 「移動する」メソッドに「状態」により「HP」を減少
させる処理を追加 player.move(key)
46.
あれ? 手続きもオブジェクト も一緒?
47.
でも・・・ 状態もHPも「主人公」構造体(クラス)も持ち物! 「移動する」関数(メソッド)は? <手続き> 誰の持ち物でもない(処理実装部分が 状態を意識している) <オブジェクト>
主人公クラスの持ち物(状態は主人公 クラスしか意識していない)
48.
どういうこと? 手続き指向は ○ 主人公構造体はただのデータの塊
○ それを操作(処理)する実装で、位 置、向きを書き換える ○ さらに状態によって、HPが減るか減ら ないか判断する
49.
手続指向だと 主人公構造体をいたるところで変更可能 主人公に対する変更が発生すると影響度
は大きい さらに。。。不具合が発生しやすい
50.
で?? オブジェクト指向は ○ 主人公クラスは全ての情報と「移動
する」メソッドを管理 ○ オブジェクト内で全ての情報を操作 し、呼び出し先は情報を意識していな い
51.
オブジェクト指向だと 主人公の情報はクラス内で完結 情報に対する仕様変更はクラス内で完結
処理の追加はメソッドの追加 情報が隠ぺい化されているので 不具合が発生した場合 原因の特定がしやすい
52.
ミソは!(1) ● オブジェクト指向は「情報」と 「処理」を「ひとまとまり」に管
理できる
53.
ミソは!(2) ● オブジェクト指向は「情報」と 「処理」の「ひとまとまり」を定
義さえすれば、メモリ上に簡 単にいくつでも、配置(実体 化)出来る
54.
ミソは!(3) ● オブジェクト指向は「情報」と 「処理」の「ひとまとまり」を定
義が同じでも、メモリ上に配置 (実体化)したものはまったく の別物である
55.
マルチプルインスタンス 実は先ほどの「ミソ」が 「マルチプルインスタンス」 と言うもので オブジェクト指向を理解するうえで、もっと も主となる考え方と言われています。
56.
まとめ
57.
今回の勉強会は 今回は「オブジェクト指向」の「オブジェク ト」の部分を、以下の点からふれてみまし た ● 一般的に言われているオブ
ジェクト指向 ● オブジェクトとはき型と比較
58.
でも まだ、「オブジェクト指向」の入り口に差し掛かった くらいです。 しかし、いきなり「オブジェクト指向の3原則」などを 例え話を交えて説明しても、理論的な知識としてし か理解できません。 本質のない知識は、やがて忘れていきます。
59.
まずは
オブジェクトって? なにが今までと違うの? を漠然とで良いので、 想像出来るようにしてください
60.
今、こうなっていてくれたら幸い 書籍、ネットで書かれている
「オブジェクト指向」 について 自分なりの見方が出来る!
61.
おそらく 今、講義の序盤で行った 「IT用語辞典 e-word」 での内容をもう一度読んだら…
違うとらえ方が
62.
その上で 「オブジェクトとは」をしっかり理解したうえ で 「カプセル化,継承,ポリモーフィズム」 などを理解した方が効率的です。 なぜなら、「本質」を理解していなければ ただの「言葉」で終わってしまうからで
63.
最後に 知識や論理は後でもよい わかったような例え話を覚えても、本質はわからな い 重要なのは「自分の経験」と「学ぶべき対象」を比 較し、自分のものに出来るか 今回は、この部分から何かを掴んで頂けたなら、 良い時間となったかと思います