자바 디자인 모델 의 --- (Adapter) 어댑터 모델 구현

3413 단어
디자인 모델 은 매우 신기 한 물건 으로 일찍이 그 를 접촉 한 것 같다.그러나 자신의 수준 이 좋 지 않 아 학업 을 제대로 하지 못 해 뜻 을 이 루 지 못 했다.이제 드디어
디자인 모드 를 시 작 했 어 요. 정말 시원 하 네요.한 걸음 한 걸음 감정 을 받 을 수 있 기 를 바 랍 니 다.
     오늘 먼저 배 운 첫 번 째 디자인 모델 (어댑터) 모델.수 요 는 이렇다.로켓 시 뮬 레이 션 프로그램 을 설계 해서 당신 이 모두 얻 은 로켓 을 이용 할 수 있 습 니 다.
정 보 는 기 존의 유형 이 고객 이 제기 한 기능 을 실현 할 수 있다 는 것 을 발견 했다. 그러나 이런 유형 은 고객 이 제기 한 핑계 와 상대 적 으로 독립 된 것 이 고 방법 명 만 다 를 뿐이다.
이미, 이것 은, 당신 은 Adapter 모드 를 사용 할 수 있 습 니 다.
    먼저 가설 고객 이 제기 한 인 터 페 이 스 를 붙인다
    
package com.bird.inter;

/**
 *         
 * @author Bird
 *
 */
public interface RocketSim {
	
	public double getMass();
	public double getThrust();
	public void setTim(double t);
	
}

    개발 자가 가지 고 있 는 프로그램 은 고객 이 필요 로 하 는 일부 기능 을 완 성 했 지만 고객 의 인터페이스 에 비해 독립 적 이 고 방법 이름 만 다 르 지만 안에
복잡 한 업무 논리 가 있어 재 활용 이 필요 하지만 고객 이 제출 한 인터페이스 에 대한 요 구 를 만족 시 켜 야 한다.다음은 이 종 류 를 붙 여 주세요.
package com.bird.exit;

/**
 *       
 * @author Bird
 *
 */
public class PhysicalRocket{

	@SuppressWarnings("unused")
	private double burnArea;
	private double burnRate;
	@SuppressWarnings("unused")
	private double fuelMass;
	private double totalMass;
	
	
	public PhysicalRocket(double burnArea, double burnRate, double fuelMass,
			double totalMass) {
		this.burnArea = burnArea;
		this.burnRate = burnRate;
		this.fuelMass = fuelMass;
		this.totalMass = totalMass;
	}

	public double getBurnTime(){
		//              
		System.out.println("  PhysicalRocket  getBurnTime  ");
		return 0;
	}
	
	public double getMass(){
		//              
		System.out.println("  PhysicalRocket  getMass  ");
		return totalMass;
	}
	
	public double getThrust(){
		//              
		System.out.println("  PhysicalRocket  getThrust  ");
		return burnRate;
	}
}

 
그 다음 에 코드 와 재 활용 과 사용자 의 수 요 를 실현 하기 위해 저 희 는 Adapter 디자인 모델 을 사용 하여 원래 의 종 류 를 계승 한 다음 에 인 터 페 이 스 를 실현 하고 부모 류 를 직접 호출 하 는 방법 이 끝나 도 코드 의 재 활용 을 성공 적 으로 실현 합 니 다. 이것 이 바로 Adapter 디자인 모델 입 니 다.
package com.bird.newClass;

import com.bird.exit.PhysicalRocket;
import com.bird.inter.RocketSim;

/**
 *   ,            
 * @author Administrator
 *
 */
public class OozinozRocket extends PhysicalRocket implements RocketSim {
	@SuppressWarnings("unused")
	private double time;
	
	public OozinozRocket(double burnArea, double burnRate, double fuelMass,
			double totalMass) {
		super(burnArea, burnRate, fuelMass, totalMass);
	}

	
	@Override
	public double getMass() {
		//    
		return super.getMass();
	}

	@Override
	public double getThrust() {
		//    
		return super.getThrust();
	}

	@Override
	public void setTim(double t) {
		this.time = t;
		
	}

}

 
 
 
 
 
 

 

좋은 웹페이지 즐겨찾기