반응형
Factory constructors 란?
Dart는 하위 유형 또는 null을 반환할 수 있는 Factory constructors 를 지원하는데, 새로운 인스턴스를 생성하지 않는 생성자를 구현할 때 factory 키워드를 사용한다.
어떻게 생성할까?
예제 코드를 보며 확인해보자
class IntegerHolder {
IntegerHolder(
);
factory IntegerHolder.fromList(List<int> list) {
if (list.length == 1) {
return IntegerSingle(list[0]);
} else if (list.length == 2) {
return IntegerDouble(list[0], list[1]);
} else if (list.length == 3) {
return IntegerTriple(list[0], list[1], list[2]);
} else {
throw Error();
}
}
}
class IntegerSingle extends IntegerHolder {
final int a;
IntegerSingle(this.a);
}
class IntegerDouble extends IntegerHolder {
final int a;
final int b;
IntegerDouble(this.a, this.b);
}
class IntegerTriple extends IntegerHolder {
final int a;
final int b;
final int c;
IntegerTriple(this.a, this.b, this.c);
}
1. 목록에 하나 의 값이 있는 경우 IntegerSingle. 값으로 생성합니다.
2. 목록에 두 개의 값 이 있는 경우 값을 순서대대로 사용하여 IntegerDouble을만듭니다 .
3. 목록에 세 개의 값 이 있는 경우 값을 순서대대로 사용하여 IntegerTriple을만듭니다 .
4. 그렇지 않으면 Error.
이렇게 만들어진 내용을 class들에게 return되어 연결된 것을 우린 확인할 수 있다.
반응형
'코딩 > Flutter' 카테고리의 다른 글
Flutter 정기 결제(구독 상품) iOS & Android (3) | 2024.02.18 |
---|---|
[flutter] 인앱 결제 iOS & Android (0) | 2024.02.18 |
[Flutter] flutter 버전 업그레이드 오류 뜰 때 (0) | 2022.10.31 |
[Flutter] Theme 파일 (사진 첨부) (0) | 2022.10.29 |
[Flutter] 3.0.2 Firebase 연동 방법!(사진 많음) (0) | 2022.10.25 |