close

 

 
*撰寫一Employee的基底類別,裡面有一個ComputeBonus的抽象方法,參數為MonthSalary和WorkMonths,型別為int傳回值為float
*撰寫一Managers的衍生類別,裡面有一私有變數BonusRate,型別為float,值為2.5,當中須override ComputeBonus的抽象方法,傳回結果為兩參數相乘後,除12再乘上BonusRate(表示年終獎金為月薪乘以在職月數再乘上獎金月數)

  public abstract class Employee
  {
   public Employee()
   {

 

   }
   public abstract float ComputeBonus (int MonthSalary, int WorkMonths);
  }
  public class Managers:Employee
  {
   private float BonusRate=2.5f;
   public override float ComputeBonus(int MonthSalary, int WorkMonths)
   {
    return MonthSalary*WorkMonths/12*BonusRate;
   }
  }
  public class Domo
  {
   public static void Main()
   {
    Managers m1=new Managers();
    Console.WriteLine(m1.ComputeBonus(24000,10));
    Console.ReadLine();
   }
  }


定義一名稱為Tax的介面,裡面只有一個CalculateTax的方法,它有兩個參數(總金額total及稅率Rate),傳回型別為double
建立三個類別GoodTax及PublicationTax及PersonalTax,計算CalculateTax的方式分為別:
發票稅=總金額x稅率(5%)  
版稅=(總金額-180000)x稅率(10%) 
所得稅 =
若 總金額>200000,所得稅=總金額x稅率(6%)
否則 所得稅=(總金額-200000)x(稅率+7%)+12000
在主程式中為此三類別各自建立一個物件,自訂總金額後,顯示各物件的結果


  public interface Tax
  {
   double CalculateTax(double Total,double Rate);
  }
  public class GoodTax
  {
   public double CalculateTax(double Total,double Rate)
   {
    return Total*Rate;
   }
  }
  public class PublicationTax
  {
   public double CalculateTax(double Total,double Rate)
   {
    return (Total-180000)*Rate;
   }
  }
  public class PersonalTax
  {
   public double CalculateTax(double Total,double Rate)
   {
    if (Total>200000)
                    return Total*Rate;
    else
     return (Total-200000)*(Rate+0.07)+12000;
             }
  }
  public class InstanceDomo
  {
   public static void Main()
   {
    GoodTax obj1= new GoodTax();
    PublicationTax obj2 = new PublicationTax();
    PersonalTax obj3 = new PersonalTax();
    Console.WriteLine("發票稅="+obj1.CalculateTax(200000,0.05));
    Console.WriteLine("版稅="+obj2.CalculateTax(200000,0.1));
    Console.WriteLine("所得稅="+obj3.CalculateTax(200000,0.06));
    Console.ReadLine();
   }
  }


arrow
arrow
    全站熱搜

    fatfather 發表在 痞客邦 留言(0) 人氣()