public static void Main()
var bmi = new BMI(120, 1.75, HeightEnum.M);
Console.WriteLine("身高:" + bmi.Height + bmi.HeightEnum);
Console.WriteLine("體重:" + bmi.Weigth);
Console.WriteLine("BMI:" + bmi.ComputeResult());
Console.WriteLine("提示:" + bmi.GetDisplayResult(Sex.Men));
HeightEnum HeightEnum { get; }
string GetDisplayResult(Sex sexType);
public class BMI : IHealth
private set { _weigth = value; }
if (HeightEnum == HeightEnum.M)
private set { _height = value; }
private HeightEnum _HeightType;
public HeightEnum HeightEnum
get { return _HeightType; }
private set { _HeightType = value; }
public BMI(double weigth, double heigth, HeightEnum heigthType = HeightEnum.M)
public virtual double ComputeResult()
return Weigth / (Height * Height);
public virtual string GetDisplayResult(Sex sexType)
result = GetTipText(20, 25);
result = GetTipText(18, 22);
private string GetTipText(int min, int max)
if (ComputeResult() < min)
if (ComputeResult() > max)