まとめ - Null を安全に扱う
CoddyのDartジャーニー「基礎」セクションの一部。レッスン 82/94。
チャレンジ
簡単モバイルアプリ用のユーザープロフィールシステムを構築しています。Dartのnull安全機能への理解を示すUserProfileクラスを作成してください。
以下の内容を持つUserProfileクラスを実装してください。
- 非null許容プロパティ(常に値を持つ必要があります):
int型のidString型のcreatedDate
- null許容プロパティ(初期化時にnullにできます):
String?型のnameString?型のemailint?型のage
- 遅延初期化プロパティ:
lateキーワードを使って宣言する、String型のdisplayName
- コンストラクター:
- 必須パラメーターとして
idとcreatedDateを受け取ります displayNameを"Guest"に初期化します
- 必須パラメーターとして
メソッド:
void printProfile()次の形式でユーザープロフィールを出力します。User Profile: ID: <id> Created: <createdDate> Name: <name or 'Not provided'> Email: <email or 'Not provided'> Age: <age or 'Not provided'> Display Name: <displayName> -------------------- メソッド:
void updateEmail(String? newEmail)emailプロパティを新しい値で更新します。
- メソッド:
String getDisplayName()nameがnullでない場合、displayName = name!を設定します(nullアサーション演算子を使用)displayNameの現在の値を返します
重要:nameプロパティを更新した後、プロフィールを再度出力する前に、getDisplayName()を呼び出してdisplayNameフィールドを更新する必要があります。
期待される出力に示されているように、プロフィールを作成、更新し、情報を表示するコードを完成させてください。
自分で試してみよう
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オンラインコンパイラ