大石泉「オブジェクト指向について教えてほしい?」村松さくら「うん!」
1- 20
1: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:30:03.43 ID:sIClmUXX0
モバマス(デレマス)SSです。
初投稿なので至らぬ点があると思いますが、教えていただけるとありがたいです。

登場人物
大石泉
https://i.imgur.com/FAlnZLS.jpg

村松さくら
https://i.imgur.com/nSGp3yi.jpg

土屋亜子
https://i.imgur.com/B5B7shg.jpg

SSWiki : ss.vip2ch.com



2: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:32:18.78 ID:sIClmUXX0
参考
オブジェクト指向設計実践ガイド 〜Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方


3: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:33:52.43 ID:sIClmUXX0
〜事務所〜

泉「って……プログラミング用語の?ずいぶん難しい言葉知ってるね」


以下略 AAS



4: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:36:00.74 ID:sIClmUXX0
さくら「というわけで、イズミン先生!よろしくお願いしまぁす!」


土屋亜子「よろしくお願いしまーす!……ってなんでアタシも?」

以下略 AAS



5: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:37:51.72 ID:sIClmUXX0
『オブジェクト指向とは』キュッ


泉「まず簡単に、オブジェクト指向とは何か。これは先に言っておきたいんだけど、実は『オブジェクト指向』って言葉は意味がふわふわしてて、人によっても解釈が違うこともあるよ」

以下略 AAS



6: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:40:13.86 ID:sIClmUXX0
亜子「もう一声!」


泉「では二人に質問。『オブジェクト』は日本語でいうと?」

以下略 AAS



7: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:42:55.62 ID:sIClmUXX0
亜子「う〜ん、いまいちわかるようなわからへんような」


泉「たとえば、このマーカーペン。亜子はこのペンを使って線を引いてって言われたら、できる?

以下略 AAS



8: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:44:43.31 ID:sIClmUXX0
泉「じゃあこのペンをオブジェクト指向プログラミングではどう表現するのか。これは、まず要素としては『色は黒』だよね、そして動作として『線を引くことができる』とか、『別の色のインクを入れるとその色の線が引ける』なんてのもあるよね。まあこのペンは詰め替えできないけど。
じゃあここで、『指定したマーカーのインクを黒から赤に変更する』ってプログラムを作りたいとします。どうしたい?どう習った?」


さくら「ええええ!!?うんと、う〜んと」
以下略 AAS



9: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:47:36.59 ID:sIClmUXX0
亜子「そうなると、

pen.ink = ’赤’

の後に
以下略 AAS



10: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:49:49.09 ID:sIClmUXX0
泉「こういうとき、オブジェクト指向の考え方では、構造体『pen』のなかに『ink』、『cap_colour』とかの要素を作るのは同じなんだけど、そうしたらね、これらの要素は別の場所からアクセスできないように設定しちゃうの」


さくら「ええ?じゃあどうやってインクの色を変えるの?」

以下略 AAS



11: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:51:37.80 ID:sIClmUXX0
泉「?どうしたの」


亜子「今の、オブジェクト指向の説明やなかったんか!?前触れもなく知らん言葉出てきた!」

以下略 AAS



12: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:53:10.54 ID:sIClmUXX0
亜子「カプセル化はオブジェクト指向の方法の一つって言うてたけど、他は?」


泉「『継承』、『ポリモーフィズム』、そして『カプセル化』。この三つがオブジェクト指向でまとめられる三つの技術だよ」

以下略 AAS



13: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:55:37.77 ID:sIClmUXX0
泉「でもね、オブジェクト指向の基本は、プログラムをオブジェクト同士の関係というかたちで表現するってことだから、私はオブジェクト指向の本質は『カプセル化』の一つだけだと思ってる」


さくら「カプセル化はプログラムを物で表現しているってことなの?」

以下略 AAS



14: ◆4btDzJY0yc[saga]
2021/10/17(日) 03:59:54.00 ID:sIClmUXX0
泉「現実世界で喩えると、テレビのこのボタンを押すと電源が点くけど、本当は内部で複雑な動作が行われているはず。でも、内部で何が起こっているかはわからないけれど、ボタンを押せばテレビが勝手に電源を点けてくれる。これって『ボタンを押す』という入力と『電源が点く』という出力だけ公開されたプログラムみたいだよね」


亜子「ふむふむ、ボタンを押すのはアタシでもさくらでも、テレビの中身は変わらんし、結果は同じになる。これってテレビというオブジェクトが中身を公開せずに『ボタンを押す』という入力だけ公開してくれてるからやな。さっき言ってたカプセル化やな」

以下略 AAS



15: ◆4btDzJY0yc[saga]
2021/10/17(日) 04:04:14.98 ID:sIClmUXX0
さくら「でも……」


泉・亜子「?」

以下略 AAS



16: ◆4btDzJY0yc[saga]
2021/10/17(日) 04:13:42.19 ID:sIClmUXX0
終わりです
>>12の「複数の」は衍字です
あと途中で出てきたプログラミング言語っぽいのはC言語っぽい架空のプログラミング言語ということでお願いします

話の進行上さくらには構造体を知っててもらいましたが実際の中学のプログラミング教育は論理的な考え方を理解するといったものでコードを書いたりはしなかったはず
以下略 AAS



17:名無しNIPPER[sage]
2021/10/17(日) 10:30:39.19 ID:QHMh+v01O

NW(ほぼいずみん)でよくわかるプログラミング講座とか受けてみたい


18:名無しNIPPER[sage]
2021/10/20(水) 08:40:40.54 ID:eco80uEQ0
char型に漢字を入れたな!


19:名無しNIPPER[sage]
2021/10/20(水) 17:07:48.22 ID:VjjOQeueo
charが1byteなCだけで物事を考えてはいけない

javaなら2byteだからUTF16のどの1文字も入るし


20:名無しNIPPER[sage]
2021/10/26(火) 13:25:24.35 ID:ibonmE+c0
私も関数型でこれ書こ。
インスピレーションもらいました。ありがとうございます。


20Res/12.59 KB
↑[8] 前[4] 次[6] 書[5] 板[3] 1-[1] l20




VIPサービス増築中!
携帯うpろだ|隙間うpろだ
Powered By VIPservice