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

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

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

使用new操作符來創(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í)例,但通過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ù)。在這過程中,初始化所有實(shí)例字段,字段值為字段類型的默認(rèn)值或構(gòu)造函數(shù)實(shí)參值;初始化"類型對(duì)象指針"和"同步塊索引"成員
  • 把新建的Dog實(shí)例的堆地址賦值給棧變量dog
  • 通過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)論

鸡泽县| 乌苏市| 南乐县| 宝丰县| 乌兰县| 泽州县| 新晃| 全南县| 永善县| 乐东| 镇雄县| 南岸区| 潞西市| 台安县| 西宁市| 正安县| 平乡县| 临潭县| 石嘴山市| 家居| 清苑县| 合水县| 微山县| 安康市| 武胜县| 华宁县| 秦皇岛市| 宁陵县| 荔浦县| 濮阳市| 峨山| 厦门市| 六枝特区| 太白县| 商丘市| 天峻县| 文安县| 榆林市| 赤城县| 开原市| 宁津县|