このブログは46歳からプログラミング(Java)を学んでいる、ぐーたら女の備忘録です。
アナログ女、プログラミングと無縁だった女がどこまで成長できるのか!?
46歳Javaの学び|ポリモーフィズム(多態性)の文法は?
ずばり、文法はな~い!!
オブジェクト指向の3大機能のひとつ「ポリモーフィズム(多態性)」
めっちゃ難しいと評判ですが、マジで分かんねぇーーー
参考書を読みはじめて3行くらいで睡魔が来る。
毎回、睡魔に襲われ、ちっとも理解が進まなかったんだけど今日、分かったかも!!という感じがしたので、アウトプットしてみます!
コツ① ざっくり、あいまいのイメージをバカにしちゃアカン
私たち人間は頭がいいので、ポルシェも軽トラも「車」と認識できる。
でも、パソコンやロボットは「車」という捉え方ができない・・
ポルシェはポルシェとしか認識できないし、軽トラは軽トラとしか認識できない。ってことをまず知る必要があった。
私たち人間は「車」に限らず、世の中にある色んなものを、ざっくりと捉えられるけど、プログラムはそうもいかない。
このざっくりをプログラムでも実現させる機能がポリモーフィズム(多態性)。ということをまずしっかり、繰り返し理解することが、私の理解度UPに繋がった。
あるもの | ⇒ | ざっくり捉えると |
ポルシェ、軽トラ、セダン、ダンプカー | ⇒ | 車 |
りんご、バナナ、ミカン、梨、柿、いちご | ⇒ | 果物 |
悟空、クリリン、ブルマ、亀仙人、ピッコロ | ⇒ | キャラクター |
コツ② ポリモーフィズムには専用の文法はない!
オブジェクト指向の「継承」には、「extends」「implements」「interface」などがありますが、ポリモーフィズム(多態性)にはありません。
ポリモーフィズムを実現可能にするのは「代入」!!
「代入」が「ざっくり捉える」ことを実現させます。
バナナをざっくり果物と捉える書き方
Fruit f = new Banana();
左辺と右辺は同じ「型」を書くと習いますが、上記のように「違う型」を書いてもOK。
変数「f」は「Banana」インスタンスなのですが、あくまで果物として捉えて利用することになるというのがミソ!!
ざっくりと捉えて利用すると何がいいのか!?
次はその辺りをアウトプットできたらな~と思います。
分からないことが、分かったことが成長☆☆☆
アナログ、プログラミング初心者でも、46歳という年齢でも、諦めなーい。
どこまで成長できるか!?
どんな未来の自分に出会えるか!?
ということで、今日の学びはここまで。