[디자인 모델] 원형 모델
다음 예 를 보십시오.
import java.util.Random;
public class Main {
public static void main(String[] args) {
Mail mail = new Mail();
mail.setMailTitle("XXX");
for (int i = 0; i < 10; i++) {
Mail cloneMail = mail.clone();
Random random= new Random();
cloneMail.sendMail(random.nextInt(15)+"");
}
}
}
class Mail implements Cloneable {
private String title;
public void setMailTitle(String title) {
this.title = title;
}
public void sendMail(String content) {
System.out.println(title + ":" + content);
}
@Override
protected Mail clone() {
Mail mail = null;
try {
mail = (Mail) super.clone();
} catch (Exception e) {
e.printStackTrace();
}
return mail;
}
}
실행 결 과 는 title 이 변 하지 않 고 내용 이 크게 달라 집 니 다.
cloneable 인터페이스의 실현 clone () 을 자세히 관찰 하고 대상 을 복사 합 니 다. 이 방법 은 주로 Mail 에 대해 clone 을 진행 합 니 다.
이렇게 하 는 장점 은:
1. 성능 이 우수 하고 원형 모델 은 메모리 에서 직접 바 이 너 리 복사 하 는 것 으로 직접 new 대상 보다 속도 가 훨씬 빠 릅 니 다. 특히 대량의 순환 에서
2. 구조 함수 의 제약 을 피하 고 직접 메모리 복사 이 며 함수 에 닿 지 않 아 도 됩 니 다.물론 구속 을 줄 이 는 것 이 단점 이다.
사용 중 에 자신의 상황 에 따라 합 리 적 으로 응용 하 다.
필드 설명 사용:
보통 여러 개의 수정 자가 있 는 장면 에 사용 되 며 초기 화 에는 많은 자원 이 필요 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.