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

オブジェクト指向の基本的な概念の継承ついて解説しました。具象クラス・抽象クラス・インターフェイスが実際に同プログラムされているかがわかります。実践的で基礎的な内容になります。
【デザインパターン参考書籍】
▼Java言語で学ぶデザインパターン入門第3版
結城 浩 (著) SBCreative社
www.amazon.co.jp/dp/431552628...
【オブジェクト指向参考書籍】
▼オブジェクト指向でなぜつくるのか 第2版
平澤 章 (著) 日経BP社
www.amazon.co.jp/%E3%82%AA%E3...
↓↓↓チャンネル登録はコチラ
/ @nekopro_firesoft
▼On-site programming developer training institution
↓↓↓VMaterial(現場のプログラム習得用タイムパーフォーマンスMAXの新ビデオ教材)のあるオンラインスクールを開講しました。
firesoft-developing-cource.te...
★侍エンジニア様から広告掲載依頼があり、こちらもご紹介いたします。★
▼SAMURAI TERAKOYA|オンラインプログラミング学習サービス(侍エンジニア )
www.sejuku.net/plus/lp/?cid=m...
#入門
#Java
#オブジェクト指向
猫でもわかるプログラミング入門は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。

Пікірлер: 19

  • @harumim4409
    @harumim4409 Жыл бұрын

    スライドの色やデザイン、イラストが可愛いしので、スクショでnoteしてアルバムにまとめても素敵にまとまります。

  • @nekopro_firesoft

    @nekopro_firesoft

    Жыл бұрын

    女性も視野に入れてデザインした甲斐がありました!!ありがとうございます。🤩

  • @antinomy5dsbruno
    @antinomy5dsbruno2 ай бұрын

    If I have a teacher teach C# like that I think I will learn it better.

  • @nekopro_firesoft

    @nekopro_firesoft

    2 ай бұрын

    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.

  • @user-sr4ee6oy6p
    @user-sr4ee6oy6p Жыл бұрын

    面白い動画でわかりやすいです。ありがとうございます。

  • @nekopro_firesoft

    @nekopro_firesoft

    Жыл бұрын

    ありがとうございます。

  • @ipg4140
    @ipg41402 жыл бұрын

    Python初学者でも分かりやすかったです。 一つ質問があります。 初学者がPythonとJavaを同時に勉強する際、陥りやすい問題はありますか? 猫プロさんの動画はJavaの動画が多く、動画を理解するのには、Javaの勉強をする必要性を感じました。

  • @nekopro_firesoft

    @nekopro_firesoft

    2 жыл бұрын

    お気づきのように、Javaはオブジェクト指向の為に作られたような言語ですので、 Javaだとオブジェクト指向の各種パターンを詳細に学べます。 Pythonでオブジェクト指向にすると、回りくどいコードに見えますが、 Pythonの哲学がシンプルだからといって省略した書き方をしないようにした方がいいです。 実はPythonのライブラリの中は、どれもゴリゴリのオブジェクト指向ですごいことになっています。

  • @nbtnbt5492
    @nbtnbt549210 ай бұрын

    エフェクティブJavaの「継承よりもコンポジションを検討する」の主張どう思いますか?実際の業務だとあまりAnimal, Cat, Dog, みたいな業務知識の系統的関係はあまりないように思うのと、疎結合の観点から、コンポジションを選択しがちです。

  • @nekopro_firesoft

    @nekopro_firesoft

    10 ай бұрын

    そうですね。一般的なソフトウェア設計だと、そういう感覚になると思います。「継承」というだけの設計はコードの再利用を手を掛けずにという感じですね。「継承」の仕組みはどうなっているかという動画ですので、そのうちですが、コンポジション動画も出しますよ。

  • @nbtnbt5492

    @nbtnbt5492

    10 ай бұрын

    @@nekopro_firesoft返信ありがとうございます!コンポジションの動画もお待ちしております!

  • @nekopro_firesoft

    @nekopro_firesoft

    10 ай бұрын

    (^^)/

  • @motooon1
    @motooon12 жыл бұрын

    すごく解りやすく参考にさせてもらってます ひとつ疑問なのですが、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 プログラミング実践】「すごろく」を敢えてオブジェクト指向にするとどうなるのか?(製造編) kzread.info/dash/bejne/e31_xZuYpNjboLw.html (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 Жыл бұрын

    ミケちゃんはインスタンスではないかと思いました。例が適切ではないと思います。

  • @nekopro_firesoft

    @nekopro_firesoft

    Жыл бұрын

    いやいや、Catからミケちゃんのインスタンスを作るのは、Catにあるフィールド変数とかメソッドしか使えないです。 Mikeは、Catを継承したクラスであって、Mikeクラスの中に、ミケちゃん独自のメソッドを沢山入れて実装しておいて、インスタンスにする、そしてメソッドを呼ぶという感じです。 大きいプロジェクトのイメージが必要になります。それが、継承の存在意義で、そういう現場の例でしたよ。 ミケちゃん一匹の為に、Catクラスを継承して実装します。一匹なので、Catのインスタンスでミケちゃんとすると、インスタンスを呼んでも、ミケちゃんの何かのプログラムを後からしなければならなくなります。 Mikeクラスで先に実装して、他の箇所で実装しないようにして、Mikeクラスからミケちゃんのインスタンスを作りメソッドを呼ぶのが、オブジェクト指向のプログラムの発想です。(クラスの責務)

  • @jojo-fz9cb
    @jojo-fz9cb2 ай бұрын

    継承が読みやすいとは思わない。

  • @nekopro_firesoft

    @nekopro_firesoft

    2 ай бұрын

    確かに、親メソッドが隠れていたりなどあったりしますが、オブジェクト指向に慣れてくると、「可読性」が高いと感じられるようになれますよ。

Келесі