オーバーロードで新機能追加 ( No.24 ) |
- 日時: 2022/03/27 12:24
- 名前: REDCHEEKS
- とりあえずリファクタリング(整理整頓)は終了したので、さっそく新機能を追加しよう。
なんと追加する機能は「割り増し機能」暴言等態度が悪かったときに、叩く回数を増やす、ほんとビックリドッキリサディスティックな機能である。
実現のために使う技術は「オーバーロード」これは多様な機能を1つの関数名でまとめて多様性を実現するための方法。
http://mediasp.kir.jp/img20220326/imgloglog-box/img20210929063533.png
@ まず NakigotoOshikari クラスに、割り増し数を追加する。 A コンストラクタのオーバーロードを追加する。
コンストラクタとは、クラスが作成されるときに1度だけ呼び出される初期化プログラム。 それのオーバーロードを作成することで、多様な処理が可能になる。 昔のプログラム言語では、同じ名前は定義できなかったが、最新のプログラム言語は、名前だけでなく、パラメータの数や形を総合的に判定してくれるから、同じ名前も定義可能、いちいち名前を変える必要がないので、便利なのだ。 それをオーバーロードという。
追加するパラメータは、Premium(プレミアム)要するに英語で「割り増し」の意味。
public NakigotoOsikari(string nakigoto, string oshikari) ← 従来のコンストラクタ public NakigotoOsikari(string nakigoto, string oshikari, int premium) ← 今回追加する"プレミア付き" のコンストラクタ
※「態度が悪いとオシリにプレミアがついてより痛くなる」サディスティック、ボッキーなシステムです
B Loading クラスに、データを追加する。
list.Add( new NakigotoOsikari( "(やめろ|うるせえ|くたばれ)", "反抗的なので{0}回増やしました。", 3 ← 割り増し回数(プレミア)の指定 ));
p.s. なお、余談だが、"反抗的なので{0}回増やしました。" のなかでの {0} は、次に指定している、割り増し回数 3 に置き換えられる。 それを実現しているのが、this(nakigoto, string.Format(oshikari, premium)) という構文、 ここで、this とは、従来のコンストラクタの呼び出し、string.Format(oshikari, premium) は、{0} を 3 に置き換える書式処理だ。
|
|