프론트엔드-코드/Javascript

상속

sdafdq 2023. 9. 5. 14:30
class Rectangle{
  width;
  height;
 
  constructor(width, height){
    this.width = width;
    this.height = height;
  }

  getPerimeter(){
    return this.width*2 + this.height*2;
  }

  getArea(){
    return this.width * this.height;
  }

  toString(){
    let message = `perimeter : ${this.getPerimeter()}\narea : ${this.getArea()}`;
    return message;
  }
}
 
class Square extends Rectangle{
  constructor(length){
    super(length, length);
  }
}

extends 써서 상속 받는 건 비슷하고,

super()는 부모의 생성자를 사용하는 것,

 

메소드 쓸 때는 this나 super나 둘다 쓸 수 있음.

 

this 쓸 때, 만약 자식 클래스에서 override한 메소드가 없다면 부모 메소드를 참조함.

this의 우선순위

1. 자신의 것.

2. 부모의 것.

 

필드도 마찬가지임.

부모의 필드에 값을 준 후면 사용 가능.

 

 

'프론트엔드-코드 > Javascript' 카테고리의 다른 글

모바일 확인  (0) 2023.09.07
문서 객체 모델  (0) 2023.09.05
Date() 객체  (0) 2023.09.04
async/await  (0) 2023.09.01
fetch로 서버로부터 데이터를 받아와 동적으로 html 추가  (0) 2023.08.31