亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#中new操作符的工作機(jī)制

 更新時(shí)間:2022年08月27日 14:13:30   作者:Darren Ji  
這篇文章介紹了C#中new操作符的工作機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

使用new操作符來(lái)創(chuàng)建對(duì)象,其背后到底發(fā)生了什么?

有一個(gè)父類Animal,Dog派生于Animal。

    class Program
    {
        static void Main(string[] args)
        {
            Dog dog = new Dog();
            Console.WriteLine("我能調(diào)用老祖宗Object的實(shí)例方法GetType,顯示結(jié)果為:" + dog.GetType() );
            Console.WriteLine("我能拿到父類的屬性Age=" + dog.Age);
            Console.WriteLine("我當(dāng)然能拿到自己的公共字段_weight=" + dog._weight);
            
        }
    }
    public class Animal
    {
        public int Age { get; set; }
        public Animal(){}
    }
    public class Dog : Animal
    {
        public decimal _weight;
        public Dog(){}
    }

雖然創(chuàng)建了子類Dog的實(shí)例,但通過(guò)dog實(shí)例能調(diào)用"老祖宗"System.Object的實(shí)例方法,也能獲取到父類的公共屬性Age的值,并且所有的實(shí)例字段值為其類型的默認(rèn)值。

new操作符做的事情大致包括:

  • 計(jì)算Dog類以及所有父類實(shí)例字段所占的字節(jié)數(shù)
  • 計(jì)算Dog類以及所有父類"類型對(duì)象指針"和"同步塊索引"所占的字節(jié)數(shù)
  • 根據(jù)字節(jié)數(shù),托管堆分配內(nèi)存
  • 先調(diào)用所有父類的構(gòu)造函數(shù),最后調(diào)用Dog的構(gòu)造函數(shù)。在這過(guò)程中,初始化所有實(shí)例字段,字段值為字段類型的默認(rèn)值或構(gòu)造函數(shù)實(shí)參值;初始化"類型對(duì)象指針"和"同步塊索引"成員
  • 把新建的Dog實(shí)例的堆地址賦值給棧變量dog
  • 通過(guò)new創(chuàng)建的托管堆對(duì)象最終由GC回收

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

最新評(píng)論