ある抽象クラスの計算メソッドを利用するクラスがあります。
仮にFruitsを継承した
Apple,Mango,Bananaとします。
個体識別用にMyNumberを与えております。
フルーツごとに計算式が異なります。
さて、識別番号だけがわかっている時に適当なクラスのインスタンスを紐付けてCulcメソッドを利用したいのですが、そういった事は可能なんでしょうか。
ちなみにフルーツは500種類ぐらいあります。
手作業で紐付けるのが泥臭い気がしたので質問させていただきました。
下記のhogeメソッドはどのように実装すればよいでしょうか。
ご回答よろしくおねがいいたします。
C#
1 2using System; 3using System.Collections.Generic; 4using System.Linq; 5using System.Text; 6using System.Threading.Tasks; 7 8 9 10public abstract class Fruits 11{ 12 public virtual int MyNumber { get; } 13 public abstract int Culc(int a, int b); 14} 15 16public class Apple : Fruits 17{ 18 public override int MyNumber => 1; 19 public override int Culc(int a , int b) 20 { 21 return a+b; 22 } 23} 24 25public class Mango : Fruits 26{ 27 public override int MyNumber => 2; 28 public override int Culc(int a, int b) 29 { 30 return a - b * b; 31 } 32} 33 34public class Banana : Fruits 35{ 36 public override int MyNumber => 3; 37 public override int Culc(int a, int b) 38 { 39 return a / b * 444; 40 } 41} 42 43 44 45class MainClass 46{ 47 48 static void Main() 49 { 50 int whatIwant = 2; 51 //Fruits someFruits = hoge(whatIWant); 52 //ここをどうすればよいのかわかりません 53//私はMangoのCulcを利用したい。 54 } 55 56}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/05 14:22
退会済みユーザー
2019/12/06 08:48