.net初學之封裝、繼承、重寫、抽象類


1.封裝:是為了隱藏對象的屬性和實現細節,僅對外公開接口,控制在程序中屬性的讀和修改的權限(定義)。
   封裝器:
    
private double a  //ctrl+r,e  回車,回車 自動生成下面代碼
    public double A
{
        get { return price; }
        set { price = value; }                           兩種封裝器的差別在屬性的名稱上,
}                                                               如果名稱首字母為小寫,在封裝器中則大寫
                                                                如果名稱首字母為大寫,在封裝器中則在首字母前加”_“。
或
    private double A  //ctrl+r,e  回車,回車  自動生成下面代碼
    public double _A
{
        get {return price;}
        set{price = value;}
}

 

 
2.繼承:一個類只能繼承一個普通類,但可以繼承多個對象(接口、抽象類等) 繼承父類中所有非私有成員
   單根性、傳遞性、安全性。
public class a
{
}
 
public class b: a,c                          //a為被繼承的普通類,c為其他對象,如果有多個再用逗號分隔。
 
base:
繼承父類的構造函數,一個子類中的構造函數只能出現一次base,需定義合適的構造函數才能
調用或在多個子類中的構造函數中調用。
public class fu{   
    publice cz(int _a,string _b)
  {
    this.a=_a;
    this.b=_b;
  }
}
 
public class zi : fu{
    public cz(double _c)
       :base(_a,_b)
  {
    this.c=_c
  }
}
 

 

 
3.重寫:發生在繼承關系之上,重寫是重寫父類中的虛方法或已被重寫過的方法。
  關鍵字: override                           |       關鍵字:overload
                                                         |
用法:                                               |       重載,同一類中的方法名相同參數列表不同的的方法稱為重載。
public class fu{                                 |
    publice virtual string a() //虛方法 |     
  {
  }
}
 
public class zi{
    public override string a()
  {
        //重寫fu類中的a方法
  }
}

 

 
4.抽象類
 
abstract class a()
{
    //不能被實例化
    //只能讓普通類實現方法
}
 
定義抽象方法:
   public        abstract            void         meth();
訪問修飾符  定義抽象方法   返回值類型   方法名        注意沒有大括號,即沒有方法體(不用實現方法)。
 
抽象類可以被繼承,如果被普通類繼承則需要實現其未實現的方法,被抽象類繼承不一定要實現未實現的方法。
 
抽象方法只能寫在抽象類中,普通方法可以寫在普通類和抽象類中。
 
   
 public abstract class couxianglei  //定義抽象類
    {
        public abstract void fangfa();   //定義抽象方法
    }
 
    public class jutilei : couxianglei
    {
        public override void fangfa()   //繼承抽象方法
        {
            Console.WriteLine("實現了抽象方法");
        }
 
    }
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM