본문 바로가기

Javascript

상속

자바스크립트에도 상속이 있다. 잘 쓸일은 없겠지만, 알아두자.

<script>

// 생성자 함수를 선언합니다.

function Rectangle(w, h) {

var width = w;

var height = h;


this.getWidth = function () { return width; };

this.getHeight = function () { return height; };

this.setWidth = function (value) {

if (value < 0) {

throw '길이는 음수일 수 없습니다.';

} else {

width = value;

}

};

this.setHeight = function (value) {

if (value < 0) {

throw '길이는 음수일 수 없습니다.';

} else {

height = value;

}

};

}


Rectangle.prototype.getArea = function () {

return this.getWidth() * this.getHeight();

};

</script>

<script>

// 생성자 함수를 선언합니다.

function Square(length) {

this.base = Rectangle;

this.base(length, length);

}

        // 상속

Square.prototype = Rectangle.prototype;


// 변수를 선언합니다.

var rectangle = new Rectangle(5, 7);

var square = new Square(5);


// 출력합니다.

alert(rectangle.getArea() + ' : ' + square.getArea());

</script>


자바스크립트에 정확한 상속방법은 없다. 상속을 확인 하는 방법은 instanceof를 이용하면 된다. 상속됬다면 true가 나올 것이다.

alert(rectangle.getArea() + ' : ' + square.getArea());

alert(square instanceof Rectangle);


'Javascript' 카테고리의 다른 글

Object객체를 이용한 자료형 구분  (0) 2012.07.05
ECMAScript 5 추가 속성  (0) 2012.07.05
배열과 객체  (0) 2012.06.29
form 값을 새창으로 전송하기  (0) 2012.06.27
자바 스크립트 내장함수  (0) 2012.06.15