이 기사의 예에서는 JavaScript가 프로토타입을 기반으로 유사한 OOP 상속을 구현하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
여기서 주목해야 할 점은 공용 속성(this. 수정자 사용)은 재정의할 수 있지만 개인 속성(var 수정자 사용)은 재정의할 수 없다는 점입니다.
하위 클래스는 상위 클래스의 전용 속성에 액세스할 수 없으며, 상위 클래스의 메서드는 정상적으로 상위 클래스의 전용 변수에 액세스할 수 있습니다.
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; //alert(polymorphed); //alert(stick.color); //stick.fun1(); //stick.fun2(); //stick.fun3(); stick.fun4();
이 기사가 JavaScript 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.