📘

ITスクール DAY15 this(), super(),UML

2023/07/27に公開2

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

Hyon🇰🇷Hyon🇰🇷

いい勉強になりました。
ご情報いただき誠にありがとうございます!!!!!!!