📘
ITスクール DAY15 this(), super(),UML
this();
基本的に、Overridingの授業だったが、コンストラクタの呼び出しが難しかったため、
こちらを中心に復習する時間が多かった。
class Video extends Object{
public Video() { }
public Video(int x) {
System.out.println("Video 매개변수 생성자");
}
}//class end
class Movie extends Video{
public Movie() {
System.out.println("Movie 생성자");
}
}
class Action extends Movie{
public Action() {
System.out.println("Action 생성자");
}
public Action(String name) {
System.out.println("액션영화제목 : " + name);
}
}//class end
class ThisData{
int i;
int j;
int k;
public ThisData() {
this(4,5,6);
}
public ThisData(int i, int j, int k) {
this((i+j+k)/3);
this.i = i; this.j = j; this.k = k;
}
public ThisData(int r) {
for(int n=1; n<=r; n++) {
System.out.print("★");
}
}
}//class end
class SubThisData extends ThisData{
}//class end
public class ThisTest {
public static void main(String[] args) {
Video vd = new Video(); // Object() -> Video()
Movie movie = new Movie(); // Video() -> Movie()
Action act = new Action(); // Video() -> Movie() -> Action()
Action act2 = new Action("미션파서블");
// Video()-> Movie()-> Action(parameter)
// [상속 관계]의 자식 객체는 부모객체의 생성자를 먼저 자동실행한다!
// ThisData()생성자 -> SubThisData() 생성자(컴파일러가 추가)
(this);
SubThisData sub =new SubThisData();
}
}
Movie 생성자
Movie 생성자
Action 생성자
Movie 생성자
액션영화제목 : 미션파서블
★★★★★ //SubThisData sub =new SubThisData();
super();
public Parent() {System.out.println("s");}
public Parent(int i, int j) {
this.i = i;
this.j = j;
基本コンストラクタを使用する場合、sをしない場合はなにもプリントしないように設定する。
public Child(int ii, int jj, int kk) {
this.i = ii;
this.j = jj;
this.k = kk;
}
<result>
s
public Child(int ii, int jj, int kk) {
super.i = ii;
super.j = jj;
this.k = kk;
<result>
s
public Child(int ii, int jj, int kk) {
super(ii,jj);
this.k = kk;
<result>
UML
https://www.cybermedian.com/wp-content/uploads/2022/02/01-online-class-diagram-example.png
プログラムを開発する際に、作るダイアグラムだ。構造を組み、クラスとクラスの関係をまとめる。国際的なルールがあるようだ。
Discussion
テキストでUMLを書けるplantumlをご紹介いたします!
いい勉強になりました。
ご情報いただき誠にありがとうございます!!!!!!!