SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
ハトでもわかる
オブジェクト指向
  @ukayare
オブジェクト指向とは?

オブジェクト同士の相互作用としてシステムの振る
舞いをとらえる考え方である。
英語の object-oriented (直訳は、「対象物志向の」
・「目的重視の」という意味の形容詞) の日本語訳
である。
オブジェクト指向は、当初プログラムの構造をオブジェクト群の相互作用の関係として捉えてプログラムコード
を書き表すオブジェクト指向プログラミング (OOP; object-oriented programming) から始まっているが、その
後、システム開発における要求分析フェイズにおいて、開発しようとする対象領域の構成要素をオブジェクト
として抽出・定義していくオブジェクト指向分析 (OOA; object-oriented analysis) 、システムの動作や構造を
オブジェクトとクラスとして記述するオブジェクト指向設計 (OOD; object-oriented design) のための、技術とし
ても広く発展・普及することとなった。

オブジェクト指向の枠組みが持つ道具立ては、一般的で強力な記述能力を持つ。特に複雑なシステム記
述、巨大なライブラリ(特に部品間で緊密で複雑な相互関係を持つもの)の記述においては、現実問題として
オブジェクト指向の考え方は必須であるといえる。
by WIkipwdia
つまりどういうことだってばよ!?
すっげー簡単に言うと

関数や変数をオブジェクト(モノ)にまとめ(パッケー
ジングし)て、
コードを読みやすくしたり、
プログラムを拡張しやすくするための手法
・・・?


 関数?変数?別に手続き型でよくね?
手続き型言語?
記述された命令を逐次的に実行し、処理の結果に
応じて変数の内容を変化させていくプログラミング
言語のこと。

C言語やBASIC、Pascalなど、ほとんどのプログラミング言語は手続き型言語に属す
る。
処理速度が速い反面、動作を検証するには処理の流れを追う必要があり、開発効率
は関数型言語に劣るといわれる。


by IT用語辞典
・・・?


 結局どこがどう違うのかよくわかんなーい
具体例をば



炊飯器の構造を
プログラムで
あらわしてみよう
炊飯器の構造・・・?
まず構成要素を
あげてみる       フタ

          開くボタン
 切ボタン
             炊飯ボタン
                        釜
現在の状態
タイマー
                  加熱器
米を入れて炊けて、
電源を切るまでの流れ
1.   お水を入れて炊飯ボタンを押す
2.   炊ける
3.   フタを開ける(ご飯をよそう)
4.   フタを閉じる
5.   切ボタンを押す
・・・?


 で、これがなんなの?
つまり

炊飯器の構成要素=変数
炊飯器の動作の流れの1つ1つ=関数

ってことです
各変数の意味を決めよう

フタ:閉じてるか上に上がってるか
開くボタン:押されてる、押されてない
炊飯ボタン:押されてる、押されてない
切ボタン:押した、押してない
釜:現在の温度(常温)
加熱器:現在の加熱具合(常温)
タイマー:切、作動中
現在の状態:切、炊飯中、保温中
各動作を細かく見よう(1)

1. お水を入れて炊飯ボタンを押す
  a. 炊飯ボタンが押される
  b. タイマーが作動中になる
  c. 加熱器が動いて炊飯の温度になる
     i. 釜に熱が伝わる
  d. 状態が炊飯中になる
2. 炊ける
   a. タイマーが切になる(止まる)
   b. 加熱器が保温の温度になる
      i. 釜に熱が伝わる
   c. 状態が保温中になる
  d. 炊飯ボタンが押されてない状態になる
各動作を細かく見よう(2)

1. フタを開ける(ご飯をよそう)
 a. 開くボタンを押された状態にする
 b. フタが上に上がる
2. フタを閉じる
 a. フタが閉じた状態になる
 b. 開くボタンが押されてない常態になる
3. 切ボタンを押す
 a. 切るボタンが押された状態になる
 b. 加熱器が常温になる
    i. 釜に熱が伝わる
 c. 状態が切になる
そして


今書き下した
それぞれが
変数、関数
となります
・・・!?

 な、なんだってー!?
 ・・・どういうこと?
軽くコードっぽく書いてみよう(変数)

boolean フタ=false;
boolean 開くボタン=false;
boolean 炊飯ボタン=false;
boolean 切ボタン=false;
temp 釜=常温;
temp 加熱器=常温;
boolean タイマー=false;
state 現在の状態=切;
軽くコードっぽく書いてみよう(関数)

お水を入れて炊飯ボタンを押す
start炊飯(){
  push炊飯();
  startタイマー();
  start加熱器();
  状態炊飯中();
}
軽くコードっぽく書いてみよう(関数)
炊飯ボタンが押される
push炊飯(){炊飯ボタン=true;}

タイマーが作動中になる
startタイマー(){タイマー=true;}

加熱器が動いて炊飯の温度になる
start加熱器(){
  加熱器=加熱中;
  釜加熱();
}
軽くコードっぽく書いてみよう(関数)
釜に熱が伝わる
釜加熱(){
  釜=加熱中;
}

状態が炊飯中になる
状態炊飯中(){
  現在の状態=炊飯中;
}
軽くコードっぽく書いてみよう(関数)

炊ける
炊ける(){
  タイマー切();
  加熱器保温();
  状態保温();
  炊飯ボタン切();
}
軽くコードっぽく書いてみよう(関数)
タイマーが切になる(止まる)
タイマー切{タイマー=false;}

加熱器が保温の温度になる
加熱器保温(){加熱器=保温;}

状態が保温中になる
状態保温(){現在の状態=保温;}

炊飯ボタンが押されてない状態になる
炊飯ボタン切(){炊飯ボタン=false;}

釜に熱が伝わる
釜保温(){釜=保温;}
軽くコードっぽく書いてみよう(関数)

フタを開ける
openフタ(){
  push開くボタン();
  upフタ();
}
開くボタンを押された状態にする
push開くボタン(){開くボタン=true;}

フタが上に上がる
upフタ(){フタ=true;}
軽くコードっぽく書いてみよう(関数)

フタを閉じる
closeフタ(){
  downフタ();
  unpushed開くボタン();
}
フタが閉じた状態になる
downフタ(){フタ=false;}

開くボタンが押されてない常態になる
unpushed開くボタン(){開くボタン=false;}
軽くコードっぽく書いてみよう(関数)

切ボタンを押す
push切ボタン(){
  pushed切ボタン();
  加熱器常温();
  状態切();
}
切るボタンが押された状態になる
pushed切ボタン(){切ボタン=true}
軽くコードっぽく書いてみよう(関数)
加熱器が常温になる
加熱器常温(){
  加熱器=常温;
  釜常温();
}

釜に熱が伝わる
釜常温(){釜=常温;}

状態が切になる
状態切(){現在の状態=切;}
?

なんとなくわかったけど、
手続き型でいいよねこれ
そいつはどうかな?

変数をどうするか?
● グローバル変数を使うのはまずい
  ○ どこからでも見れるグローバル変数はどこで何が起こった
   かをトレースするのが難しい
● 関数に引数を持たせる
  ○ 変数のたらいまわしによる可読性の低下
  ○ 関数の引数は基本的に値を参照するのみとする(一応
   変更可能に出来るが)
大規模時の弊害

● 手続き型だと規模が大きくなったときに、関数同
  士の関連性をぱっと見わからない
 ○ ファイルを分けることである程度その辺の部分をある程度
   お茶を濁すことが出来る
 ○ 構造体を使用することでもある程度対処可能だが、拡張
   性が低くなる
● 分割したところで関係ないところで関数を呼び出
  すことは可能なので、本質的ではない
● 副作用の問題
 ○ 影響範囲が良くわからなくなる
たしかに

C言語で
大規模プログラムは書きたくないわー
ということで

その辺をまとめて
影響範囲とかを明確にしようと
言うのが
オブジェクト指向の主旨です
(たぶん)
さっきの炊飯器をまとめると

class 炊飯器{
  boolean 炊飯ボタン;
  boolean フタ;
  ...
  start炊飯(){
     ...
  }
  ...
}
ん?


これ別に手続き型でも・・・
ここでカプセル化と言う概念
カプセル化とは、「手続きと情報を一緒にまとめる」というオブ
ジェクト指向プログラミングの考え方のことである。

カプセル化は、外部から操作できる処理に対してオブジェクト内
部で情報を紐付けることであり、外部から不要な操作や情報を
遮断できる。こうすることでオブジェクトを操作する側から見るとイ
ンターフェース(外部から操作できる処理)のみ把握すればよく、
オブジェクトの独立性が高まり、結果的に開発効率と可搬性の
向上が期待できる。
?


??????????????????
簡単に言うと

オブジェクトを
使う側から見て
内部の処理は
良くわかんなくても
使えるようにすること
炊飯器を例にすれば


ご飯炊きたい

         炊飯器オブジェクトに
         start炊飯を実行すれば
         いい
炊飯器を例にすれば


ご飯炊きたい
    炊飯器オブジェクト内で何してるか
    よくわかんなくても
       炊飯器オブジェクトに
    動作を実行することが出来る
       start炊飯を実行すれば
    (インターフェースのように扱える)
       いい
さらに継承と言う概念

例えば・・・
高機能な炊飯器を新しく考えたい

         アップ
         グレード!
このとき


 またいろいろ書き直すのめんどいお・・・
継承を使えば拡張も簡単

class高機能炊飯器 expands 炊飯器{
  新機能(){
    ...
  }
}

継承により再利用性や拡張性が高くなる!
(たぶん)
あとポリモーフィズムという考え方

こういうときどうする?
          お米だけじゃなくて
          パンも焼きたい
このとき

 [start炊飯ボタンby米]と
 [start炊飯ボタンbyパン]で
 名前別にするのはなんかあれだなあ
こういうときこそポリモーフィズム
オブジェクト指向プログラミング言語の持つ性質の
ひとつであり、同名のメソッドや型などをオブジェク
トの種類に応じて使い分けることができる性質のこ
と。日本語では「多相性」「多態性」「多様性」などと
訳される。
?


??????????????????
噛み砕くと

引数の型を変えたり、
継承先で別動作を定義したり、
同じメソッド名でも
いろいろな動作を
できるようにしようということ
さっきの炊飯器の機能でいうと

class 高機能炊飯器 expands 炊飯器{
  start炊飯(米){
    ....

   }
   start炊飯(パン){
    ...

   }
}
メソッド引数の型などによるポリモーフィズム
・・・オーバーロード
こんな感じで

● カプセル化
● 継承
● ポリモーフィズム

こういった概念を取り入れてコードの再利
用や拡張性、可読性やメンテナンスをやり
やすくしたのがオブジェクト指向
なるほど


なんとなくわかったお
今回は概念だけ

これを実現する機能としていろいろあります
● アクセサ
● プロパティ
● オーバーロード
● オーバーライド
● コンストラクタ
● とかとか?

後は自分で調べてね!
それでは


ありがとうございました
注意

この資料はukayareの独断と偏見による説明になっ
ております。
正確な事実と若干異なる部分がある可能性があり
ます。

もし「これぜんぜん違うじゃねーか」という部分があり
ましたら、twitterで@ukayareまでお願いいたしま
す。

Contenu connexe

Tendances

SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーke-m kamekoopa
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐりKazuyuki TAKASE
 
人工言語ロジバン超入門編
人工言語ロジバン超入門編人工言語ロジバン超入門編
人工言語ロジバン超入門編baban ba-n
 
クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説MinoDriven
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)Takuto Wada
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話Yusuke Hisatsu
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門増田 亨
 
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?ichirin2501
 
Power Automate for desktopで安定してフローを実行するためのちょっとしたTips
Power Automate for desktopで安定してフローを実行するためのちょっとしたTipsPower Automate for desktopで安定してフローを実行するためのちょっとしたTips
Power Automate for desktopで安定してフローを実行するためのちょっとしたTipskinuasa
 
ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話Tsuyoshi Ushio
 
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?Yoshitaka Kawashima
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意Yoshitaka Kawashima
 
ChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdfChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdfZenji Kanzaki
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターンSoudai Sone
 
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?kwatch
 
仕事で使うChatGPT—ディレクター・プランナーの<勉強会>
仕事で使うChatGPT—ディレクター・プランナーの<勉強会>仕事で使うChatGPT—ディレクター・プランナーの<勉強会>
仕事で使うChatGPT—ディレクター・プランナーの<勉強会>kotobato
 
今さら聞けないITエンジニアのための管理会計
今さら聞けないITエンジニアのための管理会計今さら聞けないITエンジニアのための管理会計
今さら聞けないITエンジニアのための管理会計Keisuke Tameyasu
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)Yoshitaka Kawashima
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりShinichi Tomita
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)Mikiya Okuno
 

Tendances (20)

SQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリーSQLアンチパターン - ナイーブツリー
SQLアンチパターン - ナイーブツリー
 
関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり関数型プログラミングのデザインパターンひとめぐり
関数型プログラミングのデザインパターンひとめぐり
 
人工言語ロジバン超入門編
人工言語ロジバン超入門編人工言語ロジバン超入門編
人工言語ロジバン超入門編
 
クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説クソコード動画「Managerクラス」解説
クソコード動画「Managerクラス」解説
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
SQLアンチパターン - 開発者を待ち受ける25の落とし穴 (拡大版)
 
心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話心理的安全性を 0から80ぐらいに上げた話
心理的安全性を 0から80ぐらいに上げた話
 
オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門オブジェクト指向プログラミングのためのモデリング入門
オブジェクト指向プログラミングのためのモデリング入門
 
なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?なかったらINSERTしたいし、あるならロック取りたいやん?
なかったらINSERTしたいし、あるならロック取りたいやん?
 
Power Automate for desktopで安定してフローを実行するためのちょっとしたTips
Power Automate for desktopで安定してフローを実行するためのちょっとしたTipsPower Automate for desktopで安定してフローを実行するためのちょっとしたTips
Power Automate for desktopで安定してフローを実行するためのちょっとしたTips
 
ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話ログの書き方がチームの生産性を爆上げする話
ログの書き方がチームの生産性を爆上げする話
 
なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?なぜデータモデリングが重要なのか?
なぜデータモデリングが重要なのか?
 
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
 
ChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdfChatGPTを使った要件定義のRDRA的考察.pdf
ChatGPTを使った要件定義のRDRA的考察.pdf
 
PostgreSQLアンチパターン
PostgreSQLアンチパターンPostgreSQLアンチパターン
PostgreSQLアンチパターン
 
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?
 
仕事で使うChatGPT—ディレクター・プランナーの<勉強会>
仕事で使うChatGPT—ディレクター・プランナーの<勉強会>仕事で使うChatGPT—ディレクター・プランナーの<勉強会>
仕事で使うChatGPT—ディレクター・プランナーの<勉強会>
 
今さら聞けないITエンジニアのための管理会計
今さら聞けないITエンジニアのための管理会計今さら聞けないITエンジニアのための管理会計
今さら聞けないITエンジニアのための管理会計
 
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
 
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のりシングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
 
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
なぜ、いま リレーショナルモデルなのか(理論から学ぶデータベース実践入門読書会スペシャル)
 

En vedette

北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向でyaju88
 
擬人化で考えるオブジェクト指向
擬人化で考えるオブジェクト指向擬人化で考えるオブジェクト指向
擬人化で考えるオブジェクト指向yamada28go
 
デザインパターンとともに学ぶオブジェクト指向のこころ
デザインパターンとともに学ぶオブジェクト指向のこころデザインパターンとともに学ぶオブジェクト指向のこころ
デザインパターンとともに学ぶオブジェクト指向のこころjum paku
 
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向Anto Mioyama
 
Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!Pharo
 
Jun4Pharo @ Smalltalk勉強会 2015/5/29
Jun4Pharo @ Smalltalk勉強会 2015/5/29Jun4Pharo @ Smalltalk勉強会 2015/5/29
Jun4Pharo @ Smalltalk勉強会 2015/5/29Tomohiro Oda
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後Tomoki Hasegawa
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)tadaaki hayashi
 
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料Takashi Imagire
 
データベース入門1
データベース入門1データベース入門1
データベース入門1tadaaki hayashi
 
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向hakoika-itwg
 
インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計Akineko Shimizu
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げるWataru Terada
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkSho Yoshida
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?Moriharu Ohzu
 
ハトでもわかるオブジェクト指向
ハトでもわかるオブジェクト指向ハトでもわかるオブジェクト指向
ハトでもわかるオブジェクト指向uka yare
 
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門Ryo Miyake
 

En vedette (18)

北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で北斗の拳の世界をオブジェクト指向で
北斗の拳の世界をオブジェクト指向で
 
擬人化で考えるオブジェクト指向
擬人化で考えるオブジェクト指向擬人化で考えるオブジェクト指向
擬人化で考えるオブジェクト指向
 
デザインパターンとともに学ぶオブジェクト指向のこころ
デザインパターンとともに学ぶオブジェクト指向のこころデザインパターンとともに学ぶオブジェクト指向のこころ
デザインパターンとともに学ぶオブジェクト指向のこころ
 
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
 
Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!Why do *you* need a strong open-source Smalltalk!
Why do *you* need a strong open-source Smalltalk!
 
MongoTalkを試してみた
MongoTalkを試してみたMongoTalkを試してみた
MongoTalkを試してみた
 
Jun4Pharo @ Smalltalk勉強会 2015/5/29
Jun4Pharo @ Smalltalk勉強会 2015/5/29Jun4Pharo @ Smalltalk勉強会 2015/5/29
Jun4Pharo @ Smalltalk勉強会 2015/5/29
 
スクレイピングその後
スクレイピングその後スクレイピングその後
スクレイピングその後
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
 
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
TDD Boot Camp Tokyo for c++ 2014-01 デモ用資料
 
データベース入門1
データベース入門1データベース入門1
データベース入門1
 
第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向第3回勉強会 オブジェクト指向
第3回勉強会 オブジェクト指向
 
インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計インターフェイスによるオブジェクト指向設計
インターフェイスによるオブジェクト指向設計
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践Smalltalk
 
オブジェクト指向できていますか?
オブジェクト指向できていますか?オブジェクト指向できていますか?
オブジェクト指向できていますか?
 
ハトでもわかるオブジェクト指向
ハトでもわかるオブジェクト指向ハトでもわかるオブジェクト指向
ハトでもわかるオブジェクト指向
 
オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門オブジェクト指向プログラミング再入門
オブジェクト指向プログラミング再入門
 

ハトでもわかるオブジェクト指向