9 일 - 인터페이스 및 콜백 인터페이스

1. 제목 :

       다른 문자 입력 그래픽 오브젝트 팩토리 클래스를 이용하여 얻어진 대응하는 패턴을 나타내는 콜백 인터페이스 사용, 간단한 공장 모드는, 그 도면은 탑저 부피를 산출한다.

2. 코드 :

/ ** 인터페이스 방법 추상 모양 요청 영역 PAI 종래 양 정의 
 * 
 * / 
패키지 homework1_1, 

공용  인터페이스 도형 {
     더블 PAI = 3.14 ;
     공공  더블 의 getArea을 (); 

}

 

/ ** zhouchang 원주를 찾는 방법을 포함, 긴 직사각형 직사각형 직사각형 구성의 창 대표 쿠안 폭 표현으로, 클래스 사각형을 정의 
계량 용의 getArea 
 * 
 * / 
패키지 ; homework1_1가 

공용  클래스 직사각형 유단을 {도형
  창;
  더블 콴, 
 직사각형 ( 더블 창, 더블 쿠안) {
      이 본 .chang = 장]
      이 본 .kuan = 쿠안; 
 } 
 공개  더블 zhouchang () {
      더블 C = (장 콴 +) * 2 ;
      리턴 C; 
 } 
 공공  더블의 getArea () {
      반환 장 * 쿠안 단계; 
 } 
}
/ ** 정의 서브 클래스는 두 가지 방법, 지역을 찾는 대표의 getArea이 zhouchang 대표는 원주 찾을 것을 특징으로 상위 클래스 사각형 광장, 상속,
  * / 
패키지 homework1_1을, 

공공  클래스 광장 (가) 확장 사각형 { 
    광장 ( 더블 사이드) {
         슈퍼 (측면을, 사이드); 
    } 
    공공  더블 의 getArea () {
         반환 장 * 장을; 
    } 
    공공  더블 zhouchang을 () {
          더블 C * = 장 4. ;
          반환 C를; 
    } 
}
 
 

 

 
/ ** , 삼각형 등, 계량의 자신의 방법이있다 
 * 
 * / 
패키지 homework1_1을, 

공공  클래스 삼각형 구현 도형 {
     더블 ,
     더블 B,
     더블 C, 
    삼각형 ( 더블 A, 더블 B, 더블 C) {
         다음은이 II.A = a 및
         이 본 .B = B]
         이 본 가 .c = C; 
    } 
    공개  더블 의 getArea () {
         더블 D = (A + B + C) / 2 ;
         리턴Math.sqrt (d *의 (다) * (DB) * (D- c)); 
    } 
}
/ ** 실린더의 바닥 면적 형상 클래스에 의해 정의되고 고 자기 참조 볼륨 경우 getVolume, setarea 변화 형 계산하는 단계; 
 * * 
 * / 
패키지 homework1_1; 

    공용  클래스 콘 { 
        도형 형상, 
        이중 높이; 
        콘 (도형 형상을, 이중 높이) {
             이 본 .shape = 형상]
             이 본 .height의 = 높이; 
        } 
     공개  더블 경우 getVolume는 () {
          반환 shape.getArea () * ; 높이 
         
     } 
     공개  무효 {setArea (Shape의 형상)
          이 본 .shape = 모양; 
     }
    }
/ ** , 사용자에 따라 공장 기능 문자 모양의 유형을 통과 할 수 있습니다 
 * 
 * / 
패키지 homework1_1을, 

공공   클래스 공장 {
     정적 도형 모양 = 널 (null)을 , 
    
    공공  정적   형태 (Shape) whatShape ( 숯불 C) {
     스위치 (C) {
     케이스 'R & LT': 형상 = 새로운 새로운 직사각형 (5,3) BREAK ;
     케이스 'T'모양 = 새로운 새로운 삼각형 (5,3,6); BREAK ;
     케이스 'S': 형상 = 새로운 새 정사각형 (5). BREAK ;
     케이스 'C'모양 =새로운 원 (5); 휴식 ; 
    } 
     리턴 형상; 
} 
}
/ * 다른 얻을 하부의 특성에 따라, 메인 클래스 T 정의 오브젝트 주어진 실린더 체적 출력 파라미터를 생성하는 업로드] 

 * 
 * / 
패키지 homework1_1; 

오기 java.util.Scanner; 

공용  클래스 T { 

    / ** 
     * @ PARAM의 인수
      * / 
    공공  정적  무효 메인 (문자열 []에 args) {
         // TODO 장 자동 생성 방법 스텁 
        = 스캐너에서 새로운 새로운 스캐너합니다 (System.in) 
        에서 System.out.println ( "문자를 입력" ),
         문자 C in.next = ()이 수 charAt (0 ) 
        콘 콘 = 새로운 새로운 콘 (factory.whatShape (C) ,. 5 );
    에서 System.out.println (cone.getVolume ()); 
    } 
    
    }

3. 실행 결과 :

추천

출처www.cnblogs.com/sdw98/p/11610846.html