More Related Content
Similar to オブジェクト指向プログラミングの現在・過去・未来 (20)
オブジェクト指向プログラミングの現在・過去・未来
- 2. 自己紹介
2019/11/23 2
増田 亨 (@masuda220)
最近の仕事:JavaとSQLでプログラミング(したい)
今日は、この本の背景にある
オブジェクト指向プログラミングの
基本的な考え方を説明します
仕事レベルで使った言語
Z80アセンブラ, C, PL/SQL, C++, COBOL, FORTRAN, BASIC,
Lisp, Prolog, Smalltalk, awk, Perl, PHP, Ruby,
Python, Groovy, Objective-C, JavaScript …
試したことのある言語
Haskell, OCaml, Schema, Scala, Kotlin, Go, Rust,
IO, TypeScript, …
面白いと思っている言語
Haskell, Prolog, Rust
- 11. 型とは何か
2019/11/23 11
値の範囲を制限
可能な操作を定義
int型 -21億~+21億
boolean型 trueかfalse
int型 +, -, *, /, %, ==, !=, >, <
boolean型 &&, ||, ==, !=
- 15. データ抽象の具体例
定義済:String型、 BigDecimal型、 LocalDate型、 List型、 Set型、 Map型、 …
独自定義: 金額型、数量型、期日型、明細リスト型、スキルセット型、地域別送料型、…
✓ とりえる値の範囲の制限、実行可能な操作の制限、実行結果の値の種類の制限
✓ 契約による設計 (事前条件としての引数の型、事後条件として返す値の型)
✓ ビジネスルールに基づく計算判断の意図を表現する基本手段
✓ 計算判断の実装の詳細を隠蔽する基本手段
2020/2/14 15
- 28. 型のない言語でオブジェクト指向プログラミング?
PHP, Ruby, Python, JavaScript, …
悪い冗談かと思った(抽象データ型の観点から)
動的な型付け?、ダックタイピング?、構造的部分型?、漸進的型付け?
メッセージング? 遅延結合?
プロトタイプベース?
なに言っているか、よくわからないんですけど…
そう呼ぶのは自由だけど、ほんとうに意味がわかって使っていますか?
2020/2/14 28