【オブジェクト指向プログラミング】継承(具象クラス・抽象クラス・インターフェイス)

  Рет қаралды 9,901

猫でもわかるプログラミング入門【現場SEのプロ仕様の技術】

猫でもわかるプログラミング入門【現場SEのプロ仕様の技術】

Күн бұрын

Пікірлер: 19
@harumim4409
@harumim4409 Жыл бұрын
スライドの色やデザイン、イラストが可愛いしので、スクショでnoteしてアルバムにまとめても素敵にまとまります。
@nekopro_firesoft
@nekopro_firesoft Жыл бұрын
女性も視野に入れてデザインした甲斐がありました!!ありがとうございます。🤩
@トムトム-o4u
@トムトム-o4u Жыл бұрын
面白い動画でわかりやすいです。ありがとうございます。
@nekopro_firesoft
@nekopro_firesoft Жыл бұрын
ありがとうございます。
@antinomy5dsbruno
@antinomy5dsbruno 6 ай бұрын
If I have a teacher teach C# like that I think I will learn it better.
@nekopro_firesoft
@nekopro_firesoft 6 ай бұрын
I appreciate your feedback. The basic structure of programs is indeed similar across different programming languages. I aim to create English-language videos in the future to reach a wider audience globally.
@nbtnbt5492
@nbtnbt5492 Жыл бұрын
エフェクティブJavaの「継承よりもコンポジションを検討する」の主張どう思いますか?実際の業務だとあまりAnimal, Cat, Dog, みたいな業務知識の系統的関係はあまりないように思うのと、疎結合の観点から、コンポジションを選択しがちです。
@nekopro_firesoft
@nekopro_firesoft Жыл бұрын
そうですね。一般的なソフトウェア設計だと、そういう感覚になると思います。「継承」というだけの設計はコードの再利用を手を掛けずにという感じですね。「継承」の仕組みはどうなっているかという動画ですので、そのうちですが、コンポジション動画も出しますよ。
@nbtnbt5492
@nbtnbt5492 Жыл бұрын
@@nekopro_firesoft返信ありがとうございます!コンポジションの動画もお待ちしております!
@nekopro_firesoft
@nekopro_firesoft Жыл бұрын
(^^)/
@ipg4140
@ipg4140 2 жыл бұрын
Python初学者でも分かりやすかったです。 一つ質問があります。 初学者がPythonとJavaを同時に勉強する際、陥りやすい問題はありますか? 猫プロさんの動画はJavaの動画が多く、動画を理解するのには、Javaの勉強をする必要性を感じました。
@nekopro_firesoft
@nekopro_firesoft 2 жыл бұрын
お気づきのように、Javaはオブジェクト指向の為に作られたような言語ですので、 Javaだとオブジェクト指向の各種パターンを詳細に学べます。 Pythonでオブジェクト指向にすると、回りくどいコードに見えますが、 Pythonの哲学がシンプルだからといって省略した書き方をしないようにした方がいいです。 実はPythonのライブラリの中は、どれもゴリゴリのオブジェクト指向ですごいことになっています。
@motooon1
@motooon1 2 жыл бұрын
すごく解りやすく参考にさせてもらってます ひとつ疑問なのですが、Cat mike = new Mike(); とありますが Mike mike = new Mike(); と記述できそうな気もしますが私の理解が間違っているのでしょうか
@nekopro_firesoft
@nekopro_firesoft 2 жыл бұрын
注意深くご視聴いただきありがとうございます。 Cat mike = new Mike(); もMike mike = new Mike(); もどちらも書けて部分的には両方とも間違いではありません。 「間違い」というより「適切」なのはどちらかという感じで、後続のコードをどういう風に扱うかという意識によるもので、ケーズバイケースになります。 Cat mike = new Mike(); の場合は、Mikeをネコとして大きな粒度としてしか扱わないという意識と後続のコードになり、 Mike mike = new Mike(); の場合は、MikeをMikeを固有のネコのミケとして、ミケに備わる固有のメソッドまでも使い分けるという意識と後続のコードになります。 private修飾詞は、全てpublic修飾詞にしてしまっても、動きます。だからprivate修飾詞は要らないという発想ではJavaはないです。 先を見通して、できる限り無駄なアクセスを排除するのが堅牢という考えですが、そういう類の、「間違い」というより「適切」なのはどちらかの考え方になります。 実践的には、List list = new ArrayList(); としても ArrayList list = new ArrayList();問題なく、 ArrayList list = new ArrayList();で書くほうが少し多いかもしれません。 継承関係にあるクラスは、Cat mike = new Mike();という書き方も併せて知っておいていただきたいという向きで、示したという感じです。 こういう書き方もあると知っていただきたい意向で作った他の動画が、 【Java プログラミング実践】「すごろく」を敢えてオブジェクト指向にするとどうなるのか?(製造編) kzbin.info/www/bejne/f3qulGyVqdqoprs (39:56以降) になります。 Masu nomal = new Nomal(); Masu bridge = new BNomal(); Masu hole = new Hole(); Masu snake = new Snake(); この場合は、Nomal・Nomal・Hole・Snakeともにすごろくのマスの一種であるだけの意識でインスタンスを扱うパターンになります。 どちらかというと、こういう書き方を知っておいて、今後のプロジェクトで戸惑うことがないようにという配慮でした。 ご質問ありがとうございました。
@motooon1
@motooon1 2 жыл бұрын
@@nekopro_firesoft 丁寧な説明ありがとうございます。 ぼんやりとですがこんな様に使うことも出来るんだと解りました もっとコードを書きながら動画を参考にオブジェクト指向の理解を深めていきたいと思います。 ありがとうございました。
@linus8976
@linus8976 2 жыл бұрын
ミケちゃんはインスタンスではないかと思いました。例が適切ではないと思います。
@nekopro_firesoft
@nekopro_firesoft 2 жыл бұрын
いやいや、Catからミケちゃんのインスタンスを作るのは、Catにあるフィールド変数とかメソッドしか使えないです。 Mikeは、Catを継承したクラスであって、Mikeクラスの中に、ミケちゃん独自のメソッドを沢山入れて実装しておいて、インスタンスにする、そしてメソッドを呼ぶという感じです。 大きいプロジェクトのイメージが必要になります。それが、継承の存在意義で、そういう現場の例でしたよ。 ミケちゃん一匹の為に、Catクラスを継承して実装します。一匹なので、Catのインスタンスでミケちゃんとすると、インスタンスを呼んでも、ミケちゃんの何かのプログラムを後からしなければならなくなります。 Mikeクラスで先に実装して、他の箇所で実装しないようにして、Mikeクラスからミケちゃんのインスタンスを作りメソッドを呼ぶのが、オブジェクト指向のプログラムの発想です。(クラスの責務)
@jojo-fz9cb
@jojo-fz9cb 6 ай бұрын
継承が読みやすいとは思わない。
@nekopro_firesoft
@nekopro_firesoft 6 ай бұрын
確かに、親メソッドが隠れていたりなどあったりしますが、オブジェクト指向に慣れてくると、「可読性」が高いと感じられるようになれますよ。
オブジェクト指向は何のため?現場でのクラス・継承・インターフェイスの使いどころを確認できる!
18:42
猫でもわかるプログラミング入門【現場SEのプロ仕様の技術】
Рет қаралды 4,4 М.
【Java】デザインパターン Strategy 「戦略を司る!」
22:08
猫でもわかるプログラミング入門【現場SEのプロ仕様の技術】
Рет қаралды 2,2 М.
Кто круче, как думаешь?
00:44
МЯТНАЯ ФАНТА
Рет қаралды 5 МЛН
This Game Is Wild...
00:19
MrBeast
Рет қаралды 138 МЛН
【ひろゆき切抜】オブジェクト指向をわかりやすく説明するとどうなるか
8:55
猫でもわかるプログラミング入門【現場SEのプロ仕様の技術】
Рет қаралды 30 М.
【完全マスター】JavaScriptで学ぶオブジェクト指向プログラミング
37:28
REDIMPULZ Lab [レッドインパルス・ラボ]
Рет қаралды 3,6 М.
【Javaオブジェクト指向】の必須アイテム!コレクションクラス(List・Set・Map)プログラミングの可能性を広げよう!!
32:45
猫でもわかるプログラミング入門【現場SEのプロ仕様の技術】
Рет қаралды 3,4 М.
【オブジェクト指向プログラミング】よく出てくるデザインパターン3選
9:44
猫でもわかるプログラミング入門【現場SEのプロ仕様の技術】
Рет қаралды 20 М.
ポリモフィズムとは何か、使い方やメリットをコードで解説【Java入門講座】4-7 抽象クラスとポリモーフィズム
20:41
変化に強いソフトウェアの設計法
16:43
根っこから学ぶビジネス入門
Рет қаралды 11 М.
getterとsetterについて解説します【オブジェクト指向プログラミング】
20:46
プログラミングアカデミー
Рет қаралды 22 М.