이 기사의 예에서는 JavaScript가 프로토타입을 기반으로 유사한 OOP 상속을 구현하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
여기서 주목해야 할 점은 공용 속성(this. 수정자 사용)은 재정의할 수 있지만 개인 속성(var 수정자 사용)은 재정의할 수 없다는 점입니다.
하위 클래스는 상위 클래스의 전용 속성에 액세스할 수 없으며, 상위 클래스의 메서드는 정상적으로 상위 클래스의 전용 변수에 액세스할 수 있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | function Vegetable(){
this.taste= 'delicious' ;
var a = 'I\'m Vegetable\'a!'
this.fun1 = function (){
alert( 'Vegetable fun1 doing...' );
}
this.fun3 = function (){
alert(a);
}
}
function Celery(){
var a = 'I\'m Celery\' a' ;
this.color = 'green' ;
this.taste = 'bad' ;
this.fun1a = function (){
alert( 'Celeryfun1 doing...' );
}
this.fun2 = function (){
alert( 'Celery fun2 doing...' );
}
this.fun4 = function (){
alert(a);
}
}
Celery.prototype = new Vegetable();
var stick = new Celery();
var polymorphed = stick.taste;
stick.fun4();
|
로그인 후 복사
이 기사가 JavaScript 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.