디자인 모델 의 원형 모델 (prototype)
1494 단어 디자인 모드(Java)
프로 토 타 입 모델 의 핵심 은 복제 대상 (클론) 으로 JAVA 에 서 는 클론 방법 으로 이 루어 진다.자바 의 clone 메커니즘 은 원형 모델 에 대한 운용 이 라 고 할 수 있다.
그럼 자바 복제 메커니즘 을 소개 하 겠 습 니 다.
자바 에 서 는 클론 () 방법 을 통 해 클론 작업 을 실현 합 니 다. 클론 () 방법 은 object 류 의 방법 이기 때문에 자바 의 대부분 클래스 는 이 방법 이 있 습 니 다.그러나 이 방법 을 사용 하려 면 이 종 류 는 cloneable 인 터 페 이 스 를 실현 해 야 합 니 다. 그렇지 않 으 면 Clone NotSupportException 오류 가 발생 할 수 있 습 니 다.이 를 설명 하려 면 태그 인터페이스 (Mark Interface), 태그 인터페이스 에 내용 이 없다 는 개념 을 다시 도입 합 니 다.
4. 567913. 인 터 페 이 스 를 표시 하 는 역할 은 JVM 과 같은 인터페이스 가 설명 하 는 기능 을 가지 고 있다 는 것 을 알려 주 는 것 이다.표지 인터페이스의 사용 은 디자인 과 구조 안전 측면 에서 고려 한 것 이다.표지 인터페이스 위의 문제 도 해결 되 었 다.마찬가지 로 Serializable 도 태그 인터페이스 입 니 다.
다음은 복제 메커니즘 을 사용 하 는 코드 입 니 다.
package java.lang;
pubilc interface Cloneable{
}
위 클 리 로 그 는 주간 보고서 류 로 클 라 이언 블 인 터 페 이 스 를 실현 했다.Weekly Log 의 clone 방법 에 서 는 부모 클래스 의 clone () 방법 을 슈퍼. clone () 으로 호출 했 습 니 다.
그리고 우 리 는 심 복제, 얕 은 복제 라 는 개념 을 다시 도입 했다.
얕 은 복 제 는 복사 값 형식의 양 을 말 하 며, 인용 형식 에 대한 양은 복사 참조 (즉, 메모리 주소) 일 뿐이다.
심 복 제 는 복사 값 형식의 양 뿐만 아니 라 인용 형식의 양 도 복제 하 는 것 을 말한다. 즉, 복 제 는 인용 이 아니 라 내용 이 같은 인용 유형 을 만 드 는 것 이다.
자바 의 clone 체 제 는 옅 은 복제 효과 만 할 수 있 습 니 다. 깊 은 복 제 를 실현 하려 면 clone () 방법 을 손 으로 다시 써 서 인용 유형의 양 에 대해 관련 작업 을 해 야 합 니 다.