最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中new的用法及與override的區(qū)別分析

 更新時(shí)間:2017年05月21日 14:45:39   投稿:mdxy-dxy  
這篇文章主要介紹了C#中new的用法,及與override的區(qū)別,需要的朋友可以參考下

C#中new的用法有三種:

(1)new是運(yùn)算符,用于創(chuàng)建對象和調(diào)用構(gòu)造函數(shù)。如Class1=new Class1();也可以為值類型調(diào)用默認(rèn)的構(gòu)造函數(shù)如int a=new int();此時(shí)a=0.

(2)new是修飾符,用于隱藏基類成員的繼承成員。override不能隱藏積累成員的繼承成員。如:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace A
{
  
  class Program
  {
    abstract public class Test
    {      
      public virtual void Prinf() 
      {
        Console.WriteLine("Abstract Printf...");
      }
    }
    public class Class1 : Test
    {
      
      public override void Prinf() 
      {

        Console.WriteLine("Class One Override Printf...");
      }
       
    }

    public class Class2 : Test
    {
      public new void Prinf()
      {

        Console.WriteLine("Class Two New Printf...");
      }
    }
 
    
    static void Main(string[] args)
    {

      Class1 cls1 = new Class1();
      Class2 cls2 = new Class2();
      cls1.Prinf();
      cls2.Prinf();
      ((Test)cls1).Prinf();
      ((Test)cls2).Prinf();

      Console.ReadLine();    

    }
  }
}

運(yùn)行結(jié)果表明:new修飾符隱藏了重寫方法,通過將派生對象轉(zhuǎn)為為基類對象,調(diào)用了基類的方法。而override則是完全重寫了方法,即便是轉(zhuǎn)為基類對象也調(diào)用的也是派生類的重寫方法。

即:new隱藏的基類方法,override重寫基類方法。

(3)new是約束。用在泛型中添加類型的約束。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace A
{
  class Test<T>
    where T : new()//定義類型T的約束,表示T類型必須有不帶參數(shù)的構(gòu)造函數(shù)
  {
    public T GetItem()
    {
      return new T();//如果不添加new()約束,編譯錯(cuò)誤:變量類型“T”沒有 new() 約束,因此無法創(chuàng)建該類型的實(shí)例
              //想一下,T類型不知道,編譯器不知道分配多大的空間,所以會(huì)通過反射技術(shù)實(shí)現(xiàn)
    }
  }
  class TClass
  {
    private int a;
    
    public TClass() //如果不添加無參構(gòu)造函數(shù),編譯錯(cuò)誤:TClass必須是具有公共的無參數(shù)構(gòu)造函數(shù)的非抽象類型,才能用作泛型類型或方法“A.Test<T>”中的參數(shù)“T”
    {

    }
    public TClass(int a)
    {
      this.a = a;
    }
  }

  class Program
  {
  
    static void Main(string[] args)
    {
      Test<TClass> test = new Test<TClass>();

      Console.ReadLine();    

    }
  }
}

注釋:參考http://msdn.microsoft.com/zh-cn/library/sd2w2ew5.aspx

相關(guān)文章

  • Unity中 mesh生成斜坡的示例代碼

    Unity中 mesh生成斜坡的示例代碼

    Mesh是指模型的網(wǎng)格,3D模型是由多邊形拼接而成,而多邊形實(shí)際上是由多個(gè)三角形拼接而成的,今天通過本文給大家介紹Unity中 mesh生成斜坡功能,感興趣的朋友一起看看吧
    2021-05-05
  • c#中單例類與靜態(tài)類的區(qū)別以及使用場景

    c#中單例類與靜態(tài)類的區(qū)別以及使用場景

    這篇文章主要給大家介紹了關(guān)于c#中單例類與靜態(tài)類的區(qū)別以及使用場景的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • UGUI實(shí)現(xiàn)ScrollView無限滾動(dòng)效果

    UGUI實(shí)現(xiàn)ScrollView無限滾動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了UGUI實(shí)現(xiàn)ScrollView無限滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C# 枚舉類型的聲明和使用

    C# 枚舉類型的聲明和使用

    如果一種變量只有幾種可能的值,可以定義為枚舉類型。所謂“枚舉類型”是將變量的值一一列舉出來,變量的值只能在列舉出來的值的范圍內(nèi)
    2021-07-07
  • Unity實(shí)現(xiàn)已知落點(diǎn)和速度自動(dòng)計(jì)算發(fā)射角度

    Unity實(shí)現(xiàn)已知落點(diǎn)和速度自動(dòng)計(jì)算發(fā)射角度

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)已知落點(diǎn)和速度自動(dòng)計(jì)算發(fā)射角度,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • C# log4net日志庫的用法小結(jié)

    C# log4net日志庫的用法小結(jié)

    log4net日志開源庫是用來控制日志文件大小,日志文件個(gè)數(shù),滾動(dòng)式覆蓋,自由控制日志打印等級(jí),今天通過本文給大家介紹C# log4net日志庫的用法小結(jié),感興趣的朋友一起看看吧
    2021-10-10
  • choosesubject c# switch

    choosesubject c# switch

    c# switch 實(shí)例代碼。
    2009-07-07
  • wpf將表中數(shù)據(jù)顯示到datagrid示例

    wpf將表中數(shù)據(jù)顯示到datagrid示例

    這篇文章主要介紹了wpf將表中數(shù)據(jù)顯示到datagrid示例,需要的朋友可以參考下
    2014-02-02
  • C# IFF圖形結(jié)構(gòu)解析代碼

    C# IFF圖形結(jié)構(gòu)解析代碼

    這個(gè)結(jié)構(gòu)有點(diǎn)像RIFF文件。。是分段的。但要注意ANNO這個(gè)描述字段 必須是使用2個(gè)字節(jié) 否則ACDSEE無法識(shí)別。
    2010-03-03
  • 在C#中 webbrowser的使用心得

    在C#中 webbrowser的使用心得

    最近用webbrowser做了個(gè)東西,期間有點(diǎn)小曲折,而且網(wǎng)上的解決方法也基本都是淺嘗輒止,特此在這里發(fā)一下同大家分享。

    2013-04-04

最新評(píng)論

凤凰县| 平定县| 盈江县| 昌图县| 富蕴县| 隆安县| 和田县| 海南省| 哈尔滨市| 靖江市| 巴青县| 东阳市| 临泽县| 葫芦岛市| 仲巴县| 宜兰市| 乐东| 特克斯县| 宣威市| 正镶白旗| 海兴县| 卢龙县| 托里县| 永顺县| 滨海县| 安徽省| 南通市| 隆昌县| 恩施市| 呈贡县| 江北区| 咸阳市| 三门峡市| 新安县| 丹阳市| 乌拉特后旗| 龙南县| 应用必备| 富阳市| 阿勒泰市| 义乌市|