【課題2-01】オブジェクト初期化子の使用
プロジェクトタイプ | C#コンソールアプリ※ |
---|---|
プロジェクト名 | Prac_2_01 |
ソリューション名 | PET2 |
ターゲットフレームワーク | .NET 6.0 (長期的なサポート) |
最上位レベルのステートメントを使用しない | 使用しない(チェックオン) |
※ 「コンソールアプリ(.NET Framework)」ではないので注意せよ!
あらかじめ定義されているクラスMoneyItem
の変数を宣言し,オブジェクト初期化子を用いて初期化せよ.
また各変数の内容をコンソールに表示せよ.
なお,MoneyItem
クラスは「家計簿の一項目」に関する情報を表すクラスある.このクラスの定義を変更してはならない.
注意
- この設問は「クラスを定義せよ」という設問ではない ことに注意せよ.
- この設問はあらかじめ定義されているクラスの使用方法に関する設問である.
MoneyItem
クラスの詳細についてはMoneyItemクラスの仕様を読むこと.- あらかじめ書かれている
MoneyItem
クラスの定義を変更してはならない. - この設問ではコンソール(黒画面)への表示処理を作る必要はない.
Main()
メソッド内でMoneyItem
クラスの変数を3つ宣言せよ(空欄1,2,3).
変数名と各プロパティの初期値については_のようにすること.
この際,各プロパティの初期値をセットするのに 必ずオブジェクト初期化子を使用すること .
↓変数名/→プロパティ名 | Date | Category | Title | Money |
---|---|---|---|---|
xyzzy | 2023年8月10日 (C#での記述→ new DateTime(2023, 8, 10) ) | 食費 | コンビニ | -1200 |
grault | 2023年8月25日 (C#での記述→ new DateTime(2023, 8, 25) ) | 収入 | 給与 | 200000 |
corge | 2023年9月1日 (C#での記述→ new DateTime(2023, 9, 1) ) | 通信費 | 携帯電話 | -5432 |
プログラムの概形は_のようにすること(必ず以下をコピーしProgram.cs
全体を上書きすること).
|
|
以下のボタンをクリックしてコードをコピーし,Main()
メソッドを上書きすること.
正しく実装できた場合,実行結果は_のようになる.
日付 .... 2023-08-10 費目 .... 食費 詳細 .... コンビニ 金額 .... -1200円 日付 .... 2023-08-25 費目 .... 収入 詳細 .... 給与 金額 .... 200000円 日付 .... 2023-09-01 費目 .... 通信費 詳細 .... 携帯電話 金額 .... -5432円
MoneyItemクラスの仕様(参考)
表示するにはここをクリック
- 名前
MoneyItem
- 種別
クラス
フィールド・プロパティ・インデクサの仕様
メンバ名 | 種別 | 型 | アクセス修飾子 | 備考 |
---|---|---|---|---|
Date | プロパティ(※) | DateTime | public | その出納項目の日付.読み書き可能. |
Category | プロパティ(※) | string | public | その出納項目の費目.読み書き可能. |
Title | プロパティ(※) | string | public | その出納項目の詳細(タイトル).読み書き可能. |
Money | プロパティ(※) | int | public | その出納項目の金額.読み書き可能. |
- ※: 省略記法(自動実装プロパティ)を用いてもよい.省略記法を用いない場合,対応するフィールドは自分で宣言する(名前は自由).
メソッドの仕様
MoneyItem
クラスは明示的に宣言されたインスタンスメソッドを持たない.
コンストラクタの仕様
MoneyItem
クラスはコンストラクタを1個持つ.
- コンストラクタ1
- アクセス修飾子:
public
- 引数
- なし(デフォルトコンストラクタ)
- アクセス修飾子:
表示するにはここをクリック : 閉じる
ヒント
なし