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

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

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

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

有一個父類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í)例,但通過dog實(shí)例能調(diào)用"老祖宗"System.Object的實(shí)例方法,也能獲取到父類的公共屬性Age的值,并且所有的實(shí)例字段值為其類型的默認(rèn)值。

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

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

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

相關(guān)文章

最新評論

景洪市| 九江市| 乐东| 嘉定区| 搜索| 双牌县| 财经| 徐汇区| 焉耆| 志丹县| 荣昌县| 佛学| 佛教| 深圳市| 东丽区| 大方县| 买车| 鄂伦春自治旗| 大同市| 浦东新区| 临沭县| 鄂尔多斯市| 望城县| 克东县| 荣昌县| 成安县| 大余县| 宜良县| 叶城县| 湘潭市| 聂拉木县| 张家港市| 东宁县| 都兰县| 海原县| 微山县| 湖口县| 张掖市| 比如县| 杭锦后旗| 获嘉县|