Enviar búsqueda
Cargar
ライブコーディング(?)で学ぶPerlオブジェクト指向
•
0 recomendaciones
•
703 vistas
azuma satoshi
Seguir
Denunciar
Compartir
Denunciar
Compartir
1 de 19
Descargar ahora
Descargar para leer sin conexión
Recomendados
プロトコル指向に想う世界観 #__swift__
プロトコル指向に想う世界観 #__swift__
Tomohiro Kumagai
Swift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswift
Tomohiro Kumagai
リテラルと型の話 #__swift__
リテラルと型の話 #__swift__
Tomohiro Kumagai
lazy var の特徴を知る #cocoa_kansai #cswift
lazy var の特徴を知る #cocoa_kansai #cswift
Tomohiro Kumagai
I phoneアプリ入門 第5回
I phoneアプリ入門 第5回
Sachiko Kajishima
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
Kazuyoshi Kamitsukasa
Perlでちょいモテデザインパターン
Perlでちょいモテデザインパターン
Yuki Manno
Pattern match with case class
Pattern match with case class
Kai Sasaki
Recomendados
プロトコル指向に想う世界観 #__swift__
プロトコル指向に想う世界観 #__swift__
Tomohiro Kumagai
Swift 2.0 で変わったところ「前編」 #cswift
Swift 2.0 で変わったところ「前編」 #cswift
Tomohiro Kumagai
リテラルと型の話 #__swift__
リテラルと型の話 #__swift__
Tomohiro Kumagai
lazy var の特徴を知る #cocoa_kansai #cswift
lazy var の特徴を知る #cocoa_kansai #cswift
Tomohiro Kumagai
I phoneアプリ入門 第5回
I phoneアプリ入門 第5回
Sachiko Kajishima
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
jvmlang.daitokai 1.0.0 MinCamlJを作ってみた
Kazuyoshi Kamitsukasa
Perlでちょいモテデザインパターン
Perlでちょいモテデザインパターン
Yuki Manno
Pattern match with case class
Pattern match with case class
Kai Sasaki
Microprocesadores[1]
Microprocesadores[1]
Javier Santos
Future of retail security
Future of retail security
Vivien Wamalwa
GMM 2012 Chiamati a far risplendere la Parola di verità
GMM 2012 Chiamati a far risplendere la Parola di verità
Maike Loes
Watch my doc!
Watch my doc!
stoliros
Arp Attack
Arp Attack
UKE Università Kore Enna - pagina ufficiale
Aprile
Aprile
Maike Loes
Oa 한글표준화
Oa 한글표준화
kimsoohyun
Febbraio
Febbraio
Maike Loes
Rabies
Rabies
Vijayakumar Blathur
Mantra rus
Mantra rus
Nataly Bogdanova
Novembre 2011
Novembre 2011
Maike Loes
Strumento di lavoro
Strumento di lavoro
Maike Loes
Pati alegre (fil eminimizer)
Pati alegre (fil eminimizer)
Rafael Aroztegui Peñarroya
Heather
Heather
heather114
Guidelines
Guidelines
Iryna Shvets
Family tree
Family tree
35150
How great thou art
How great thou art
Michele Kearns
Io vangelo iii_avvento_anno_b_14 dicembre
Io vangelo iii_avvento_anno_b_14 dicembre
Maike Loes
Kozma Szilárd: Nagy Attila Puli, avagy az árnyék én a sorsképlet tükrében
Kozma Szilárd: Nagy Attila Puli, avagy az árnyék én a sorsképlet tükrében
Violetta Joó
Scuola dante alighieri
Scuola dante alighieri
Annamara Montesi
finally (not finally)
finally (not finally)
azuma satoshi
時を駆けるINSERT.pptx
時を駆けるINSERT.pptx
azuma satoshi
Más contenido relacionado
Destacado
Microprocesadores[1]
Microprocesadores[1]
Javier Santos
Future of retail security
Future of retail security
Vivien Wamalwa
GMM 2012 Chiamati a far risplendere la Parola di verità
GMM 2012 Chiamati a far risplendere la Parola di verità
Maike Loes
Watch my doc!
Watch my doc!
stoliros
Arp Attack
Arp Attack
UKE Università Kore Enna - pagina ufficiale
Aprile
Aprile
Maike Loes
Oa 한글표준화
Oa 한글표준화
kimsoohyun
Febbraio
Febbraio
Maike Loes
Rabies
Rabies
Vijayakumar Blathur
Mantra rus
Mantra rus
Nataly Bogdanova
Novembre 2011
Novembre 2011
Maike Loes
Strumento di lavoro
Strumento di lavoro
Maike Loes
Pati alegre (fil eminimizer)
Pati alegre (fil eminimizer)
Rafael Aroztegui Peñarroya
Heather
Heather
heather114
Guidelines
Guidelines
Iryna Shvets
Family tree
Family tree
35150
How great thou art
How great thou art
Michele Kearns
Io vangelo iii_avvento_anno_b_14 dicembre
Io vangelo iii_avvento_anno_b_14 dicembre
Maike Loes
Kozma Szilárd: Nagy Attila Puli, avagy az árnyék én a sorsképlet tükrében
Kozma Szilárd: Nagy Attila Puli, avagy az árnyék én a sorsképlet tükrében
Violetta Joó
Scuola dante alighieri
Scuola dante alighieri
Annamara Montesi
Destacado
(20)
Microprocesadores[1]
Microprocesadores[1]
Future of retail security
Future of retail security
GMM 2012 Chiamati a far risplendere la Parola di verità
GMM 2012 Chiamati a far risplendere la Parola di verità
Watch my doc!
Watch my doc!
Arp Attack
Arp Attack
Aprile
Aprile
Oa 한글표준화
Oa 한글표준화
Febbraio
Febbraio
Rabies
Rabies
Mantra rus
Mantra rus
Novembre 2011
Novembre 2011
Strumento di lavoro
Strumento di lavoro
Pati alegre (fil eminimizer)
Pati alegre (fil eminimizer)
Heather
Heather
Guidelines
Guidelines
Family tree
Family tree
How great thou art
How great thou art
Io vangelo iii_avvento_anno_b_14 dicembre
Io vangelo iii_avvento_anno_b_14 dicembre
Kozma Szilárd: Nagy Attila Puli, avagy az árnyék én a sorsképlet tükrében
Kozma Szilárd: Nagy Attila Puli, avagy az árnyék én a sorsképlet tükrében
Scuola dante alighieri
Scuola dante alighieri
Más de azuma satoshi
finally (not finally)
finally (not finally)
azuma satoshi
時を駆けるINSERT.pptx
時を駆けるINSERT.pptx
azuma satoshi
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
azuma satoshi
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
azuma satoshi
L tthon
L tthon
azuma satoshi
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
azuma satoshi
Perlbeginnes 9 opening
Perlbeginnes 9 opening
azuma satoshi
Perlbeginners proposal
Perlbeginners proposal
azuma satoshi
Chibapm01 lt
Chibapm01 lt
azuma satoshi
入れ子構造を分解する
入れ子構造を分解する
azuma satoshi
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししよう
azuma satoshi
Perlbeginnes 4 keynote
Perlbeginnes 4 keynote
azuma satoshi
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
azuma satoshi
Perlbeginners 3 opening talk
Perlbeginners 3 opening talk
azuma satoshi
PSGIへの誘い
PSGIへの誘い
azuma satoshi
Perlbeginnes 2 keynote
Perlbeginnes 2 keynote
azuma satoshi
Hachiojipm 14 LT
Hachiojipm 14 LT
azuma satoshi
Perl Beginners #1 keynote
Perl Beginners #1 keynote
azuma satoshi
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向
azuma satoshi
Hachioji.pm #13 LT
Hachioji.pm #13 LT
azuma satoshi
Más de azuma satoshi
(20)
finally (not finally)
finally (not finally)
時を駆けるINSERT.pptx
時を駆けるINSERT.pptx
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
印刷に耐えられる品質のQRCodeをPerlで生成したよ! - Mishima.pm #1
L tthon
L tthon
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 lt_ytnobody
Perlbeginnes 9 opening
Perlbeginnes 9 opening
Perlbeginners proposal
Perlbeginners proposal
Chibapm01 lt
Chibapm01 lt
入れ子構造を分解する
入れ子構造を分解する
YAPC::Asia 2012 CPANに恩返ししよう
YAPC::Asia 2012 CPANに恩返ししよう
Perlbeginnes 4 keynote
Perlbeginnes 4 keynote
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perl暦およそ10年(?)の僕がデータベースを使えるようになるまでの昔話
Perlbeginners 3 opening talk
Perlbeginners 3 opening talk
PSGIへの誘い
PSGIへの誘い
Perlbeginnes 2 keynote
Perlbeginnes 2 keynote
Hachiojipm 14 LT
Hachiojipm 14 LT
Perl Beginners #1 keynote
Perl Beginners #1 keynote
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向
Hachioji.pm #13 LT
Hachioji.pm #13 LT
ライブコーディング(?)で学ぶPerlオブジェクト指向
1.
ライブコーディング(?)で学ぶ Perl
オブジェクト指向 Perl Beginners #4 Lightning Talk @ytnobody
2.
ネタ的に 時間オーバーの予感
3.
銅鑼ないので あまり気にしてませんが
4.
オブジェクト指向とはなんぞや
5.
手前味噌ですが、
Perl Beginners #1 LT 「大ざっぱにオブジェクト指向」 http://xrl.us/perlbeginners-roughoop をご覧ください。
6.
今回はライブコーディングを通して Perlのオブジェクト指向を
知ってもらおうと思っています
7.
よくある例:Animalクラス ●
Cryという変数を持っている ● 鳴き声を表現 ● Barkというメソッドを持っている ● Cry変数で指定された鳴き声で鳴くことができる
8.
DEMO: 動物を鳴かせよう ●
Animalクラスを定義 ● Animalオブジェクトを$catに格納 ● $cat に “meow” と鳴かせる ● Animalオブジェクトを$dogに格納 ● $dog に “bow” と鳴かせる
9.
シンプルだが面倒 ●
毎回鳴き声を定義するのが億劫。 ● そもそも俺は猫を定義したいんだ! ● じゃあどうする? ● 「継承」という概念を取り入れよう
10.
継承を取り入れると
継承 Cat クラス Animal クラス
11.
DEMO: 猫を鳴かせよう ●
Animalクラスを継承したCatクラスを定義する ● 鳴き声は基本”meow” ● $catにCatオブジェクトを格納する ● $catに “meow” と鳴かせる
12.
DEMO: 鳥を飛ばそう ●
Animalクラスを派生させて、Birdクラスも定義しよう ● 鳴き声は特に指定なし ● Flyメソッドを追加する – 鳥だから飛べるはず ● $birdにBirdオブジェクトを格納する ● $birdを飛ばす
13.
DEMO:キメラをつくろう ●
CatとBirdの両方を継承する Chimera クラスを定義 ● $chimera に Chimeraオブジェクトを格納 ● $chimeraを飛ばす ● さらに”meow”と鳴かせる
14.
コウモリを作りたいが・・・ ●
コウモリは鳥じゃない ● でも飛べる ● どうする・・・ ● 「飛ぶ」能力だけを他のクラスに分ける – Mixinといいます – Exporterを使うといいんじゃないですか ● Animal::Mixin::Fly というクラスに定義してみる
15.
DEMO: コウモリを作る ●
Animal::Mixin::Fly を定義する ● Batクラスを定義する ● 鳴き声は”geeh!” ● Animal::Mixin::Flyをuseするのを忘れないように。。。 ● $bat に Batオブジェクトを格納する ● $batを飛ばす & 鳴かす
16.
クラスを定義するのに 便利なCPANモジュール ●
Class::Accessor::Fast ● アクセッサと呼ばれるメソッドを簡単に定義できる ● Mouse ● アクセッサに型指定や読み書きの権限を設定できる ● Mixin(MouseではRoleと呼ぶ)の実装が楽 ● 自動的にuse strict; use warnings; される
17.
DEMO こんどはMouseでコウモリを
つくってみる
18.
まとめ ●
“package Foo::Bar;” でクラスを定義 ● 1ファイルにつき1クラスが見通しよくていい感じ ● オブジェクト = bless { some => 'data', ... }, $classname; ● コンストラクタ(newとか)はこれをreturnする関数 ● 継承を使うと、親クラスにある機能は全部使える ● 親を複数指定してもOK(キメラのように) ● クラスにないメソッドは呼べません ● Mixinを使うと、あとからメソッドを追加できます Exporterでmixinクラスを作る – – Mouse と Mouse::Roleを使って対応する ● クラスの最後は真を置くべし! ● 1; とか、 'Happy hacking! ('; とか。 – 普通はだいたい”1;”
19.
ありがとうございました
Descargar ahora