다태적 존재 조건

1504 단어 다태
멀티태스킹에 필요한 3가지 조건:
1. 계승이 있어야 한다.방법이 있으면 다시 써라.아바타 인용은 아바타 대상을 가리킨다. (아바타에 정의된 방법에 대해 아바타에서 이 방법을 다시 쓰면 아바타 인용은 아바타의 이 방법을 호출한다. 이것이 바로 동적 연결이다.)
 
멀티태스킹의 경우 다음과 같이 요약할 수 있습니다.
1. 부류 유형의 인용을 사용하여 부류의 대상을 가리킨다.
2. 이 인용은 부류에서 정의한 방법과 변수만 호출할 수 있다.
3. 만약에 하위 클래스에서 상위 클래스 중의 한 방법을 다시 썼다면 이 방법을 호출할 때 하위 클래스 중의 이 방법을 호출할 것이다.(동적 연결, 동적 호출)
4. 변수는 다시 쓰기(덮어쓰기)를 할 수 없습니다.'다시 쓰기'의 개념은 방법에만 적용됩니다. 하위 클래스에서'부류의 변수를 다시 쓰기'를 하면 컴파일할 때 오류가 발생합니다.
5. 만약에 계승된 자류가 부류의 한 방법을 계승한 후에 다시 불러오면 이 부류의 인용은 다시 불러온 후의 그 방법을 사용할 수 없다.
코드 예:
package Class.www.testdescription;
public class Animal {
 private String str;
 public void voice() {
  System.out.println(" ");
 }
}
class cat extends Animal {
 public void voice() {   //  voice  
  System.out.println(" ");
 }
}
class Dog extends Animal {
 public void voice() {
  System.out.println(" ");
 }
 public void lookdoor()
 {
  System.out.println(" ...");
 }
}
class Tiger extends Animal {
 public void voice() {
  System.out.println(" ");
 }
}
package Class.www.testdescription;
public class Test {
 public static void testanimalvoice(Animal c) {
  c.voice();
 }
 public static void main(String[] args) {
  Animal a = new cat(); //  
  Animal b = new Dog(); // new , , new , ,
  Animal c = new Tiger();// ,  new 。 new , .
  testanimalvoice(a);
  testanimalvoice(b);
  testanimalvoice(c);
  Dog b2 = (Dog) b; //  
  b2.lookdoor();
 }
}

좋은 웹페이지 즐겨찾기