>  기사  >  웹 프론트엔드  >  JavaScript는 프로토타입_javascript 기술을 기반으로 OOP 상속과 유사한 방법을 구현합니다.

JavaScript는 프로토타입_javascript 기술을 기반으로 OOP 상속과 유사한 방법을 구현합니다.

WBOY
WBOY원래의
2016-05-16 15:25:171187검색

이 기사의 예에서는 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 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.