多态性练习
定义一个银行卡类(BankCard)以及派生类ForeignCard,LimitedCard,成员包括姓名、卡号、余额等字段,构造函数,取款及存款方法;
其中:ForeignCard取款时应缴纳1%的手续费。
LimitedCard取款时不能超过1000元的限额。
要求:用虚拟方法实现多态性,用统一的方式处理各种卡的取款和存款业务。

解决方案 »

  1.   

    class BankCard
    {
        public virtual void ForeignCard()
        {
            ...
        }
    }class ForeignCard: BankCard
    {
        public override void ForeignCard()
        {
            ...
        }
    }
      

  2.   

    Class BankCard
    {
        String name;
        int num;
        float balance
        public BankCard()
    {
              ......//do something
    }
        public virtual void DrawMoney()//取款
    {}
        }
     Class ForeignCard:BankCard
    {
       this.Base()
       public override void DrawMoney(float consume)
       {
    balance-=balance*1.01//扣除1%的余额
       }}
    Class LimitedCard:BankCard
    {
       this.Base()
       public override void DrawMoney(float consume)
       {
    //判断取款额是否大于某值
       }}
    大致内容就这样好久没用csharp了,语法可能有误,多包涵
      

  3.   

    上面构造函数写错了
    Class ForeignCard:BankCard 

       public BankCard() 

              ......//do something 
        this.base();

      public override void DrawMoney(float consume) 
      { 
    balance-=balance*1.01//扣除1%的余额 
      } } 
    Class LimitedCard:BankCard 

      public BankCard() 

              ......//do something 
        this.base();
    }   public override void DrawMoney(float consume) 
      { 
    //判断取款额是否大于某值 
      } }