【課題10-03】クラスの定義
プロジェクトタイプ | C#コンソールアプリ※ |
---|---|
プロジェクト名 | Prac_10_03 |
ソリューション名 | PET10 |
ターゲットフレームワーク | .NET 6.0 (長期的なサポート) |
最上位レベルのステートメントを使用しない | 使用しない(チェックオン) |
【課題9-03】で作成した,自己紹介関する情報を表すクラスIntroductionInfo
を
少し改造する設問である.
IntroductionInfo
クラスをWPFアプリで扱いやすいようにBindableBase
クラス(Prism.Mvvm
)から派生させる形に変更せよ.
注意
- 必ずIntroductionInfoクラスの仕様を読むこと!
- この設問のプロジェクトでは, NuGetを使って「
Prism.Core
」パッケージをインストール する必要がある. - この設問ではクラスの定義のみを行えばよい(Main()で何かをする必要はない).
- この設問ではコンソール(黒画面)への表示処理を作る必要はない
プログラムの概形は_のようにすること(必ず以下をコピーしProgram.cs
全体を上書きすること).
|
|
Main()
メソッドは長いので別に掲載している.以下のボタンをクリックしてコードをコピーし,Main()
メソッドを上書きすること.
正しく実装できた場合,実行結果は_のようになる.
クラスIntroductionInfoのチェック開始... ( 1/17) クラスの定義... OK ( 2/17) クラスが継承しているクラス(Prism.Mvvm.BindableBase)... OK ( 3/17) クラスが実装しているインターフェースの数... OK ( 4/17) クラスが実装しているインターフェース... OK ( 5/17) フィールドの数... OK ( 6/17) フィールドstudentIDの定義... OK ( 7/17) フィールドnameの定義... OK ( 8/17) フィールドmottoの定義... OK ( 9/17) フィールドbirthdayの定義... OK (10/17) プロパティ・インデクサの数... OK (11/17) プロパティStudentIDの定義... OK (12/17) プロパティNameの定義... OK (13/17) プロパティMottoの定義... OK (14/17) プロパティBirthdayの定義... OK (15/17) コンストラクタの数... OK (16/17) デフォルトコンストラクタの定義... OK (17/17) デフォルトコンストラクタの動作... OK Congratulations! クラスの定義に関する全てのテストをパスしました.
IntroductionInfoクラスの仕様
表示するにはここをクリック
- 名前
IntroductionInfo
- 種別
クラス
- 派生元クラス
Prism.Mvvm.BindableBase
フィールド・プロパティ・インデクサの仕様
メンバ名 | 種別 | 型 | アクセス修飾子 | 備考 |
---|---|---|---|---|
studentID | フィールド | string | private | - |
name | フィールド | string | private | - |
motto | フィールド | string | private | - |
birthday | フィールド | DateTime | private | - |
StudentID | プロパティ | string | public | 学籍番号.データの実体としてはstudentID フィールドを使用する.読み書き可能.書き込み時にはSetProperty() メソッドを使って値の変化を通知する. |
Name | プロパティ | string | public | 氏名.データの実体としてはname フィールドを使用する.読み書き可能.書き込み時にはSetProperty() メソッドを使って値の変化を通知する. |
Motto | プロパティ | string | public | 好きな言葉.データの実体としてはmotto フィールドを使用する.読み書き可能.書き込み時にはSetProperty() メソッドを使って値の変化を通知する. |
Birthday | プロパティ | DateTime | public | 誕生日.データの実体としてはbirthday フィールドを使用する.読み書き可能.書き込み時にはSetProperty() メソッドを使って値の変化を通知する. |
メソッドの仕様
IntroductionInfo
クラスは明示的に宣言されたインスタンスメソッドを持たない.
コンストラクタの仕様
IntroductionInfo
クラスはコンストラクタを1個持つ( 明示的に定義しなくてよい ).
- コンストラクタ1
- アクセス修飾子:
public
- 引数
- なし(デフォルトコンストラクタ)
- 備考
- 注意: ユーザー定義のコンストラクタを一つも定義しなければ,デフォルトコンストラクタは自動的に定義される.
- アクセス修飾子:
表示するにはここをクリック : 閉じる