자바 디자인 모드 - 장식 모드
5722 단어 java - 디자인 모드장식 모드
코드 세 션 을 보고 노래 할 사람 을 만 들 겠 습 니 다.
/**
* @author Lichenyi
* @date 2017-7-6
*/
public interface Human {
public void sing();
}
/ / 이 사람 을 가수 로 포장
/**
* @author Lichenyi
* @date 2017-7-4
*/
public class Singer implements Human {
@Override
public void sing(){
System.out.println(" ......");
}
}
/ / 이 가 수 는 노래 를 부 르 고 있 습 니 다.
/**
* @author Lichenyi
* @date 2017-7-5
*/
public class SingerSing extends Singer {
private Singer singer;
public SingerSing(Singer singer){
this.singer = singer;
}
@Override
public void sing() {
singer.sing();
}
}
/ / 장식 A – 노래 할 때 춤 추기
/**
* @author Lichenyi
* @date 2017-7-5
*/
public class SingerDecorateA extends SingerSing{
public SingerDecorateA(Singer singer) {
super(singer);
}
@Override
public void sing() {
decorate();
super.sing();
}
private void decorate(){
System.out.println(" ..");
}
}
/ / 장식 B – 노래 할 때 음악 이 있어 요
/**
* @author Lichenyi
* @date 2017-7-5
*/
public class SingerDecorateB extends SingerSing{
public SingerDecorateB(Singer singer) {
super(singer);
}
@Override
public void sing() {
decorate();
super.sing();
}
private void decorate(){
System.out.println(" ..");
}
}
/ / 장식 C – 노래 완료 후 경력 소개
/**
* @author Lichenyi
* @date 2017-7-5
*/
public class SingerDecorateC extends SingerSing{
public SingerDecorateC(Singer singer) {
super(singer);
}
@Override
public void sing() {
super.sing();
decorate();
}
private void decorate(){
System.out.println(" ..");
}
}
장점: 그 확장 성 이 매우 좋 고 서로 다른 장식 류 를 사용 하여 대상 을 다양한 속성 을 가지 게 하고 유연성 이 직접 계승 하 는 것 보다 좋다.단점: 너무 많은 장식 류 가 생 겨 서 코드 가 이해 하기 어렵 고 잘못 배열 하기 쉽 지 않 습 니 다.
항목 주소:https://github.com/lichenyigit/designModel3-decorate.git
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 디자인 모드 - 장식 모드장식 모델: 동태 적 으로 책임 을 대상 에 게 부가 하여 대상 을 가로 방향 과 확장 시 키 고 계승 보다 탄력 적 인 대체 방안 을 제공 합 니 다. 코드 세 션 을 보고 노래 할 사람 을 만 들 겠 습 니 다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.