Розмір відео: 1280 X 720853 X 480640 X 360
Показувати елементи керування програвачем
Автоматичне відтворення
Автоповтор
丁寧な説明いつもありがとうございます。実行用クラスでオブジェクトの生成をする際、指定できるクラスは一つであるため、複数のクラスが持つ変数やメソッドを使えない。そこで継承を行い、サブクラスを指定してあげることで、スーパークラスが持つメソッドも呼び出すことができるということですね。
そらおちゃんねるさん、コメントありがとうございました!たしかに継承を使えば他のクラスの変数やメソッドを使うことができますが、場当たり的にクラスをつなげていくとクラス同士の関係が複雑になってしまいます。継承の考え方として「スーパークラスを拡張してサブクラスを作る」という観点が大切ですね😄
カナダの大学で学んでますがJava講座のおかげでJavaでA+取れたの本当に感謝してます!
良い成績を取れて良かったですね!おめでとうございます👍自宅の狭い部屋で撮った動画が遠く離れたカナダで見てもらえてるなんて嬉しいです!
とても丁寧な説明ですね☺️分かりやすそうなので他の動画も是非参考にさせて頂きます。
subsub akoさん、コメントありがとうございました!分かりやすそうって感じてもらえて嬉しいです😄Javaは基本文法からwebアプリ編までひと通り揃っているので、ぜひ参考にしてみてください!
ますます難しくなってきたが復習すればなんとかなるだろう
継承するかどうかの判断は難しいですよね。使い方を誤ると密になり、改修や拡張がしづらくなるので。
野醍醐天皇さん、コメントありがとうございました。そうですね。そのあたりも意識してクラス設計をする必要があるのかなと思います。
理解はできた気がします。クラスが2つから3つになると難しく感じますね。このまま4章も駆け抜けたほうがいいでしょうか?それとも練習で書いたほうがいいですか?
ツボツボさん、コメントありがとうございました!クラスの数が3章から2つになり、4章から3つ以上になって難しさが上がっていきますね。駆け抜けたほうが良いかは、プログラムを「読める」レベルで良しとするか、「書ける」レベルまで理解を深めたいかですね😄僕だったら分からないことがあると気になるので一つひとつ書きながら進めていきますが、もし先に4章の全体像をつかみたいのであれば駆け抜けるのもアリだと思います!
こんちには。動画拝見させていただきました。一つ疑問なのですが、継承のイメージ図の矢印はなぜ上向きなのでしょうか。親クラスを編集したら子クラスにも反映されるイメージだと矢印が下向きの方がしっくりきます…なにか理由はあるのでしょうか
こんにちは。コメントありがとうございました!継承の矢印の向きについては、リアルの研修でもよく質問を受けますね。【スーパークラスからサブクラスに機能が引き継がれる】という視点だと、たしかにスーパー→サブの向きのほうが自然です。ただ、ホワイトボードに描いたようなクラス図は(コーディングする前の)設計フェーズで使われることも多くて、その際に【複数のクラスで共通する情報をスーパークラスとして抜き出す】ことがよくあります。つまり、サブクラスをもとにスーパークラスを作る(汎化)わけですね。クラス図や汎化の矢印は「UML」という記法なんですが、UMLでは後者の視点で矢印の向きが決められたといわれています。
@@SekaChan ...なるほど!【サブがスーパーに依存している方向】が【矢印の向き】みたいなイメージで...それがUMLという世界的な決まり事になってる。っていう解釈であってますか?
継承した場合、スーパークラスをオブジェクト生成して使うことってありますか??サブクラスをオブジェクト生成すればスーパークラスのメソッドも使えるので、、
スーパークラスの機能だけ使えれば十分なときとかは、スーパークラスのオブジェクトを使うことがありますね。例えば5章で出てくるExceptionクラスも(いろんなサブクラスがありますが)よく使われています😄
コンストラクタは継承しない、の話が理解できませんでした。Person()とクラス名のStudent()の名前が合わなくなってしまうというのはどういうことか、もう一度説明していただけると嬉しいです。
くるみさん、コメントありがとうございました。コンストラクタにはクラス名と同じ名前をつけるルールがありましたね😄なので、Personクラスのコンストラクタは Person(‥){~} です。これをStudentクラスで継承すると、Studentクラス内に Person(‥){~} が含まれることになり、名前のルールが崩れてしまいます。これが『Person()とクラス名のStudentの名前が合わなくなってしまう』の意味合いですね。そのため、コンストラクタはサブクラスに継承されない仕組みになっています。
@@SekaChan 理解できました!!ありがとうございます!
この章から設計クラスの先頭にpublicがつくようになっています。何故でしょうか。ちなみに私の環境ではpublic無しでも正常に動作するようです。
Yoshida Sanさん、コメントありがとうございました!この章からpublicがついているのは、3-8 カプセル化( ua-cam.com/video/AAHWf_yqEyY/v-deo.html )でpublicを解説したためですね。publicをつけなくても正常に動作はしますが、カプセル化をするといくつかのメリットがあります。(詳しくは3-8の動画も参考にしてみてください😄)
@@SekaChan ありがとうございます。理解できました。
class の前にpublic をつけるときの条件は何でしょうか?
GIN GILBEY`S_さん、コメントありがとうございました!publicをつけるための条件は特にありませんよ👍publicをつけるとどうなるかはこちらの動画を参考にしてください→ ua-cam.com/video/AAHWf_yqEyY/v-deo.html
@@SekaChan 動画1つ飛ばしちゃってたみたいです。教えていただき助かりました🙇♀️
classの前にpublicをつけないとうまくコンパイル出来ますがclassの前にpublicをつけるとクラスPersonはpublicでありファイルPerson.javaでせんげんする必要がありますというエラーメッセージが出ます。class Studentも同じメッセージが出ますが何故classの前にpublicをつけるとエラーになるのですか?
がんばれ
丁寧な説明いつもありがとうございます。
実行用クラスでオブジェクトの生成をする際、指定できるクラスは一つであるため、複数のクラスが持つ変数やメソッドを使えない。
そこで継承を行い、サブクラスを指定してあげることで、スーパークラスが持つメソッドも呼び出すことができるということですね。
そらおちゃんねるさん、コメントありがとうございました!
たしかに継承を使えば他のクラスの変数やメソッドを使うことができますが、場当たり的にクラスをつなげていくとクラス同士の関係が複雑になってしまいます。
継承の考え方として「スーパークラスを拡張してサブクラスを作る」という観点が大切ですね😄
カナダの大学で学んでますがJava講座のおかげでJavaでA+取れたの本当に感謝してます!
良い成績を取れて良かったですね!おめでとうございます👍
自宅の狭い部屋で撮った動画が遠く離れたカナダで見てもらえてるなんて嬉しいです!
とても丁寧な説明ですね☺️分かりやすそうなので他の動画も是非参考にさせて頂きます。
subsub akoさん、コメントありがとうございました!
分かりやすそうって感じてもらえて嬉しいです😄
Javaは基本文法からwebアプリ編までひと通り揃っているので、ぜひ参考にしてみてください!
ますます難しくなってきたが復習すればなんとかなるだろう
継承するかどうかの判断は難しいですよね。使い方を誤ると密になり、改修や拡張がしづらくなるので。
野醍醐天皇さん、コメントありがとうございました。
そうですね。そのあたりも意識してクラス設計をする必要があるのかなと思います。
理解はできた気がします。
クラスが2つから3つになると難しく感じますね。
このまま4章も駆け抜けたほうがいいでしょうか?
それとも練習で書いたほうがいいですか?
ツボツボさん、コメントありがとうございました!
クラスの数が3章から2つになり、4章から3つ以上になって難しさが上がっていきますね。
駆け抜けたほうが良いかは、プログラムを「読める」レベルで良しとするか、「書ける」レベルまで理解を深めたいかですね😄
僕だったら分からないことがあると気になるので一つひとつ書きながら進めていきますが、もし先に4章の全体像をつかみたいのであれば駆け抜けるのもアリだと思います!
こんちには。動画拝見させていただきました。
一つ疑問なのですが、継承のイメージ図の矢印はなぜ上向きなのでしょうか。親クラスを編集したら子クラスにも反映されるイメージだと矢印が下向きの方がしっくりきます…なにか理由はあるのでしょうか
こんにちは。コメントありがとうございました!
継承の矢印の向きについては、リアルの研修でもよく質問を受けますね。
【スーパークラスからサブクラスに機能が引き継がれる】という視点だと、たしかにスーパー→サブの向きのほうが自然です。
ただ、ホワイトボードに描いたようなクラス図は(コーディングする前の)設計フェーズで使われることも多くて、その際に【複数のクラスで共通する情報をスーパークラスとして抜き出す】ことがよくあります。
つまり、サブクラスをもとにスーパークラスを作る(汎化)わけですね。
クラス図や汎化の矢印は「UML」という記法なんですが、UMLでは後者の視点で矢印の向きが決められたといわれています。
@@SekaChan ...なるほど!【サブがスーパーに依存している方向】が【矢印の向き】みたいなイメージで...それがUMLという世界的な決まり事になってる。っていう解釈であってますか?
継承した場合、スーパークラスをオブジェクト生成して使うことってありますか??サブクラスをオブジェクト生成すればスーパークラスのメソッドも使えるので、、
スーパークラスの機能だけ使えれば十分なときとかは、スーパークラスのオブジェクトを使うことがありますね。
例えば5章で出てくるExceptionクラスも(いろんなサブクラスがありますが)よく使われています😄
コンストラクタは継承しない、の話が理解できませんでした。
Person()とクラス名のStudent()の名前が合わなくなってしまうというのはどういうことか、
もう一度説明していただけると嬉しいです。
くるみさん、コメントありがとうございました。
コンストラクタにはクラス名と同じ名前をつけるルールがありましたね😄
なので、Personクラスのコンストラクタは Person(‥){~} です。
これをStudentクラスで継承すると、Studentクラス内に Person(‥){~} が含まれることになり、名前のルールが崩れてしまいます。
これが『Person()とクラス名のStudentの名前が合わなくなってしまう』の意味合いですね。
そのため、コンストラクタはサブクラスに継承されない仕組みになっています。
@@SekaChan
理解できました!!ありがとうございます!
この章から設計クラスの先頭にpublicがつくようになっています。何故でしょうか。ちなみに私の環境ではpublic無しでも正常に動作するようです。
Yoshida Sanさん、コメントありがとうございました!
この章からpublicがついているのは、3-8 カプセル化( ua-cam.com/video/AAHWf_yqEyY/v-deo.html )でpublicを解説したためですね。
publicをつけなくても正常に動作はしますが、カプセル化をするといくつかのメリットがあります。
(詳しくは3-8の動画も参考にしてみてください😄)
@@SekaChan ありがとうございます。理解できました。
class の前にpublic をつけるときの条件は何でしょうか?
GIN GILBEY`S_さん、コメントありがとうございました!
publicをつけるための条件は特にありませんよ👍
publicをつけるとどうなるかはこちらの動画を参考にしてください→ ua-cam.com/video/AAHWf_yqEyY/v-deo.html
@@SekaChan 動画1つ飛ばしちゃってたみたいです。
教えていただき助かりました🙇♀️
classの前にpublicをつけないとうまくコンパイル出来ますがclassの前にpublicをつけるとクラスPersonはpublicでありファイルPerson.javaでせんげんする必要がありますというエラーメッセージが出ます。class Studentも同じメッセージが出ますが何故classの前にpublicをつけるとエラーになるのですか?
がんばれ