JAVA 학습의 다태편(5)

1626 단어

다태


계승은 다태적 실현의 기초이다

하나.인용의 다태

  • 부류의 인용은 본 류의 대상을 가리킬 수 있다
  • Animal obj1=new Animal();
    
  • 부류의 인용은 부류의 대상을 가리킬 수 있다
  • //Dog Animal 
    Animal obj2=new Dog();
    // , , , 
    //obj2 Dog , , Dog 【 】 。
    

    둘.방법의 다태


    즉 자류가 부류에 만족하지 않는 어떤 방법으로 다시 쓴다
    //Animal eat() 
    public void eat(){
        system.out.println(" ");
    }
    //Dog eat() 
    public void eat(){
        system.out.println(" ");
    }
    // 
    Animal obj1=new Animal();
    Dog obj2=new Dog();
    obj1.eat();// “ ”
    obj2.eat();// “ ”
    

    셋.다중 모드에서의 인용 형식 변환

  • 상향 유형 변환(스텔스 자동 변환)(작은 유형에서 큰 유형으로)(위험 없음)
  • 하위 유형 변환(강제 유형 변환)(큰 유형에서 작은 유형)(위험 있음)
  • Dog dog=new Dog();
    Animal animal=dog;// 
    Dog dog2=(Dog)animal;// , Dog dog2=animal 。
    // :
    Animal animal=new Dog();
    
  • instanceof방법(강제변환을 피하기 위한 문제)
  • //instanceof , :
     instanceof ;
    // :animal Dog , true, false。
    animal instanceof Dog;
    

    넷.추상류


    abstract 키워드 추상류 관주 자류가 가지고 있는 특징은 있지만 자류가 어떻게 실현하는지를 중시하지 않는다.

    장면 적용

  • 어떤 상황에서 어떤 부류는 그 부류가 어떤 방법을 포함해야 하는지 알 뿐이지만 이런 부류가 어떻게 이런 방법을 실현하는지 정확하게 알 수 없다.
  • 여러 개의 같은 특징을 가진 클래스에서 하나의 추상류를 이런 클래스의 부류(즉 템플릿)로 추상화하여 하위 클래스 디자인의 임의성을 피한다.

  • 참고:

  • abstract는 추상류를 정의할 수도 있고 추상적인 방법을 정의할 수도 있다
  • 추상적인 방법을 포함하는 클래스는 추상적이어야 한다
  • 추상류는 일반적인 방법을 포함할 수도 있고 추상적인 방법이 없을 수도 있다
  • 추상 클래스는 직접 만들 수 없지만 인용 변수를 정의할 수 있습니다.즉 인용된 다태
  • 사용 방법:

    public abstract class Animal(){
        abstract void eat();
    }
    

    좋은 웹페이지 즐겨찾기