자바스크립트에도 상속이 있다. 잘 쓸일은 없겠지만, 알아두자.
<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 |