javascript 대상 계승
2206 단어 대상 을 향 하 다이어받다
// Object :extend
Object.extend = function(destination, source) {
for(property in source) {
destination[property] = source[property];
}
return destination;
}
// Object extend
Object.prototype.extend = function(object) {
return Object.extend.apply(this, [this, object]);
}
Object.extend 방법 은 쉽게 이해 할 수 있 습 니 다.이것 은 Object 류 의 정적 방법 으로 매개 변수 중의 source 의 모든 속성 을 destination 대상 에 할당 하고 destination 의 인용 을 되 돌려 줍 니 다.다음은 Object.prototype.extend 의 실현 을 설명 합 니 다.Object 는 모든 대상 의 기본 클래스 이기 때문에 모든 대상 에 extend 방법 을 추가 합 니 다.함수 체 의 문 구 는 다음 과 같 습 니 다.Object.extend.apply(this,[this,object]);이 문장 은 Object 류 의 정적 방법 을 대상 으로 하 는 방법 으로 실행 되 며,첫 번 째 매개 변 수 는 this 가 대상 의 실례 자 체 를 가리킨다.두 번 째 매개 변 수 는 하나의 배열 로 두 가지 요 소 를 포함한다.대상 자체 와 들 어 오 는 대상 매개 변수 object.함수 기능 은 매개 변수 대상 object 의 모든 속성 과 방법 을 이 방법 을 호출 하 는 대상 자신 에 게 할당 하고 자신의 인용 을 되 돌려 주 는 것 입 니 다.이 방법 이 있 으 면 다음 과 같은 상속 의 실현 을 볼 수 있다
<script language="JavaScript" type="text/javascript">
<!--
// extend
Object.extend = function(destination, source) {
for (property in source) {
destination[property] = source[property];
}
return destination;
}
Object.prototype.extend = function(object) {
return Object.extend.apply(this, [this, object]);
}
// class1
function class1(){
//
}
// class1
class1.prototype={
method:function(){
alert("class1");
},
method2:function(){
alert("method2");
}
}
// class2
function class2(){
//
}
// class2 class1
class2.prototype=(new class1()).extend({
method:function(){
alert("class2");
}
});
//
var obj1=new class1();
var obj2=new class2();
// obj1 obj2
obj1.method();
obj2.method();
obj1.method2();
obj2.method2();
//-->
</script>
운영 결 과 를 통 해 알 수 있 듯 이 계승 이 정확하게 실현 되 었 고 파생 류 의 추가 구성원 도 목록 의 형식 으로 정 의 를 내 릴 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 에서 대상 을 마주 하 는 프로 그래 밍유형 적 으로 특정한 기능 을 실현 하면 모든 인 스 턴 스 가 이 기능 을 갖 출 수 있 습 니 다.만약 우리 가 방법 을 다 썼 다 면 우 리 는 원래 코드 를 바 꾸 지 않 고 새로운 기능 을 추가 할 수 있다...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.