\ # Thinking in Java 읽 기 노트 \ # 제8 장 다 형

3656 단어 읽 기자바
다 중 적 역할 은 유형 간 의 결합 관 계 를 없 애 는 것 이다.기본 클래스 만 인터페이스 로 작성 할 수 있 는 방법 (배열) 입 니 다. 하위 클래스 는 모두 이 방법 을 사용 할 수 있 습 니 다. 하위 클래스 가 위로 전환 하면 동적 연결 을 통 해 실행 할 때 구체 적 으로 실행 해 야 할 방법 주 체 를 확인 하여 새로운 형식 을 추가 하거나 새로운 방법 을 추가 할 수 있 습 니 다. 기 존 방법 을 변경 하지 않 아 도 됩 니 다.'사물 을 바 꿀 수 있 는 것 과 변 하 는 것 으로 분리 할 수 있 는 것' 다 형 = 동적 바 인 딩 = 후기 바 인 딩 final (private) 과 static 방법 은 모두 초기 바 인 딩 이 고 자바 의 다른 방법 은 후기 바 인 딩 OOP 의 기본 적 인 특징 이다. 데이터 추상, 계승, 다 형 Super s = new sub (); (sub - > super) 에서 위로 전환 하고 아래로 전환 하려 면 유형 전환 이 필요 하 다.
public class TestJava{
     
    public void ride(Cycle r) {System.out.println("number of wheels "+r.wheel());}
    public static void main(String[] args) {
        TestJava t = new TestJava();
        t.ride(new Cycle());
        t.ride(new Unicycle());
        t.ride(new Bicycle());
        t.ride(new Tricycle());
    }
}
class Cycle{
     
    public int wheel() {
        return 0;
    }
}
class Unicycle extends Cycle{
     
    public int wheel() {
        return 1;
    }
}
class Bicycle extends Cycle{
     
    public int wheel() {
        return 2;
    }
}
class Tricycle extends Cycle{
     
    public int wheel() {
        return 3;
    }
}

결함: 1. 클래스 의 Private (final) 방법 은 하위 클래스 에 덮어 쓸 수 없 기 때문에 하위 클래스 에서 초 클래스 private 방법 을 호출 하려 면 이름 을 바 꿔 야 합 니 다. 2. 모든 도 메 인 접근 작업 (class. field) 은 컴 파일 러 에 의 해 해석 되 기 때문에 다 중 적 이지 않 습 니 다. 정적 방법 도 다 중 sub - > 슈퍼: static function (), function 1 () sub: static function (), function 1 () 이 아 닙 니 다.슈퍼 s = new sub () s. function () 의 결 과 는 슈퍼. function () 의 결과 이 고, s. function 1 () 의 결 과 는 sub. function () 의 결과 이 며, 다 태 적 이다.
하위 클래스 의 구조 기 호출 시 초 클래스 구조 기 및 변수의 호출 순 서 는 다음 과 같다.
청소 순 서 는 초기 화 순서 와 반대 입 니 다.
협동 반환 형식: 내 보 내기 클래스 가 덮어 쓰 이 는 방법 은 기본 클래스 방법의 내 보 내기 클래스 를 되 돌려 줍 니 다.
sub->super class drink{ super process(){} } class cola extends drink{ sub process(){} }

좋은 웹페이지 즐겨찾기