Effective Java 2.0_중첩 구조 함수 모드아 이 템 2 지식 포인트
1.중첩 구조 함수 모델 소개
Telescoping Constructor Pattern,중국어 이름 은 중첩 구조 함수(방법)모델 로 실제 프로젝트 에서 자주 사용 되 는 모델 입 니 다.주로 구조 함수 파라미터 가 여러 개 있 고 일부 매개 변 수 는 기본 값 을 가 진 상황 에서 사용 합 니 다.보통 기본 구조 함수 와 여러 매개 변수 개수 가 다른 구조 함수 로 구성 되 어 있 습 니 다.여러 개의 매개 변수 가 다른 구조 함 수 는 마지막 에 기본 구조 함수 에 의뢰 하여 클래스 의 인 스 턴 스 를 구성 합 니 다.그러나 이 모델 은 확장 이 잘 되 지 않 는 다 는 단점 이 있다.
2.코드 예시
//Telescoping constructor pattern - does not scale well!
public class NutritionFacts {
private final int servingSize; // (mL) required
private final int servings; // (per container) required
private final int calories; // optional
private final int fat; // (g) optional
private final int sodium; // (mg) optional
private final int carbohydrate; // (g) optional
public NutritionFacts(int servingSize, int servings) {
this(servingSize, servings, 0);
}
public NutritionFacts(int servingSize, int servings, int calories) {
this(servingSize, servings, calories, 0);
}
public NutritionFacts(int servingSize, int servings, int calories, int fat) {
this(servingSize, servings, calories, fat, 0);
}
public NutritionFacts(int servingSize, int servings, int calories, int fat,
int sodium) {
this(servingSize, servings, calories, fat, sodium, 0);
}
public NutritionFacts(int servingSize, int servings, int calories, int fat,
int sodium, int carbohydrate) {
this.servingSize = servingSize;
this.servings = servings;
this.calories = calories;
this.fat = fat;
this.sodium = sodium;
this.carbohydrate = carbohydrate;
}
}
참고 자료:
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.