복습 - 안전한 널 처리
Coddy Dart 여정의 기초 섹션에 포함된 레슨. 94개 중 82번째.
챌린지
쉬움모바일 앱을 위한 사용자 프로필 시스템을 구축하고 있습니다. Dart의 null 안전 기능에 대한 이해를 보여 주는 UserProfile 클래스를 만드세요.
다음 항목을 포함하는 클래스 UserProfile을 구현하세요.
- Non-nullable 속성 (항상 값을 가져야 함):
- 타입이
int인id - 타입이
String인createdDate
- 타입이
- Nullable 속성 (초기화 시 null일 수 있음):
- 타입이
String?인name - 타입이
String?인email - 타입이
int?인age
- 타입이
- 지연 초기화 속성:
- 타입이
String이고late키워드를 사용하여 선언된displayName
- 타입이
- 생성자:
id와createdDate를 필수 매개변수로 받음displayName을"Guest"로 초기화함
메서드:
<strong>void printProfile()</strong>다음 형식으로 사용자 프로필을 출력합니다.User Profile: ID: <id> Created: <createdDate> Name: <name or 'Not provided'> Email: <email or 'Not provided'> Age: <age or 'Not provided'> Display Name: <displayName> -------------------- 메서드:
<strong>void updateEmail(String? newEmail)</strong>- 새 값으로
email속성을 업데이트합니다.
- 새 값으로
- 메서드:
<strong>String getDisplayName()</strong>name이 null이 아니면displayName = name!을 설정합니다(null 단언 연산자 사용).displayName의 현재 값을 반환합니다.
중요: name 속성을 업데이트한 후 프로필을 다시 출력하기 전에 displayName 필드를 업데이트하려면 반드시 getDisplayName()을 호출해야 합니다.
프로필을 생성하고 업데이트한 다음, 예상 출력에 표시된 것처럼 정보를 출력하도록 코드를 완성하세요.
직접 해보기
void main() {
// 사용자 프로필 생성
final profile = UserProfile(1, 'today');
// 초기 프로필 출력
profile.printProfile();
// 프로필 업데이트
profile.name = 'John Doe';
profile.updateEmail('john@example.com');
profile.age = 30;
// 표시 이름 업데이트 및 업데이트된 프로필 출력
profile.getDisplayName(); // displayName을 업데이트하려면 이것을 호출
profile.printProfile();
}
class UserProfile {
// TODO: 속성 추가 (id, createdDate, name, email, age, displayName)
// TODO: 생성자 만들기
// TODO: printProfile() 메서드 구현
// TODO: updateEmail() 메서드 구현
// TODO: getDisplayName() 메서드 구현
}기초의 모든 레슨
직접 연습해 보세요: 온라인 Dart 컴파일러