아이디어는 다음과 같습니다.
인터페이스를 사용하여 인터페이스를 정의하고 해당 인터페이스에서 Save () 메소드를 정의하십시오.
이미지 형식에 따라 다른 클래스를 정의하고 키워드 구현을 사용하여 이러한 클래스에서 인터페이스를 구현하십시오.
선택을 구현 하고이 클래스에서 선택을 구현하는 메소드를 정의하는 클래스를 만듭니다. 메소드의 반환 값은 해당 이미지 저장 클래스입니다.
기본 메소드에서 인터페이스를 구현하십시오.
코드는 다음과 같습니다.
코드 사본은 다음과 같습니다.
Public Interface ImagesAver {
void save (); // save () 메소드를 정의합니다
}
공개 클래스 gifsaver는 imagesver {
@보수
public void save () {// 구현 save () 메서드
System.out.println ( "그림을 GIF 형식으로 저장");
}
}
공개 클래스 jpegsaver 구현 images baver {
@보수
public void save () {
System.out.println ( "JPG 형식으로 사진을 저장");
}
}
공개 클래스 pngsaver는 images baver {
@보수
public void save () {
System.out.println ( "PNG 형식으로 사진을 저장");
}
}
공개 클래스 tychooser {
public static imagesaver getsaver (문자열 유형) {
if (type.equalsignorecase ( "gif")) {// 다른 if 문을 사용하여 이미지의 유형을 결정합니다.
새로운 gifsaver ()를 반환합니다.
} else if (type.equalsignoreCase ( "jpeg")) {
새로운 jpegsaver ()를 반환합니다.
} else if (type.equalsignorecase ( "png")) {
새로운 pngsaver ()를 반환합니다.
} 또 다른 {
널 리턴;
}
}
}
공개 클래스 사용자 {
public static void main (String [] args) {
System.out.print ( "사용자는 GIF 형식을 선택했습니다 :");
imagesaver saver = typechooser.getSaver ( "gif"); // 이미지를 gif 유형으로 저장하는 객체를 얻습니다.
Saver.save ();
system.out.print ( "사용자가 선택한 jpeg 형식 :"); // 저장된 이미지를 jpeg 유형 객체로 가져옵니다.
Saver = typechooser.getSaver ( "jpeg");
Saver.save ();
System.out.print ( "사용자 선택 PNG 형식 :"); // 이미지를 PNG 유형으로 저장하는 객체를 얻습니다.
Saver = typechooser.getSaver ( "png");
Saver.save ();
}
}