카테고리 없음

아래 답

윤보람 2008. 11. 5. 20:38

 - 머리가 지끈하다. 너무 어렵게 접근하고 있는듯.



내가 원하는 것
:
    prototype을 이용하여 메소드를 추가하고 싶다.

문제 :
   prototype 속성을 이용해 추가 해도, undefined만 난다.

결론 :
    prototype은 나(현재 객체)에 메소드를 추가하느냐, 새 객체에 적용하느냐 에 따라 다르다.
   
    책에선 인스턴스를 이용하여 객체를 생성하는 것을 퉁쳐서 [상속] 이라고 표현한다.
    자바에선 각각의 상태에 따라 다 용어가 달라서 서로가 헷갈리는 일이 없는데.
   


1. 현재의 메소드에 메소드 추가

function AAA()
{
   this.width = 3;
   this.height = 4;
   return '너 밉상이다.';
}

AAA.getArea = function()
 {
  return '니가 더 밉상이다';
 }

 alert( AAA());  // 너 밉상이다
 alert( AAA.getArea()); // 니가더 밉상이다
 alert( AAA);   //함수 몸체

 // 의문점 AAA안의 this.width에 접근할 방법을 모르겠다.


2. 상속받은 객체에 메소드를 추가할때
  function AAA()
   {
    this.width = '너밉상이다';
    this.height = ' 네가 더 밉상이야';
    }

   AAA.prototype.getArea = function()
   {
    return this.width + this.height;
   }

   var objAAA = new AAA();
   alert( objAAA.getArea());