【課題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 - 引数
- なし(デフォルトコンストラクタ)
- 備考
- 注意: ユーザー定義のコンストラクタを一つも定義しなければ,デフォルトコンストラクタは自動的に定義される.
- アクセス修飾子:
表示するにはここをクリック : 閉じる