작성
·
262
0
부모 클래스를 상속할 때..
class Idol {
String name;
int membersCount;
Idol({
required this.name,
required this.membersCount,
});
void sayName() {
print('저는 ${this.name}입니다.');
}
void sayMembersCount() {
print('${this.name}은/는 ${this.membersCount}명의 멤버로 구성되어 있습니다.');
}
}
강의에서 설명해주신
class GirlGroup extends Idol {
GirlGroup(
String name,
int membersCount,
) : super(
name: name,
membersCount: membersCount,
);
}
이 코드 대신
명시적으로
class BoyGroup extends Idol {
BoyGroup({
required super.name,
required super.membersCount,
});
}
이렇게 사용해도 인스턴스에서 명시적으로 선언하는 것 외에 다른 차이는 없는 건가요?
(두 가지 모두 정상 출력확인했습니다.)
답변 1
0
안녕하세요!
말씀주신 두 코드는 첫번째는 positional parameter를 사용하고 있고 두번째는 named parameter를 사용하고 있다는 사실 외에 다른점이 없습니다!
단순히 파라미터를 받아서 super 생성자에 넘겨주는 경우가 많아서 생긴 문법입니다.
감사합니다!