zoukankan      html  css  js  c++  java
  • 关于C#虚函数和构造函数的一点理解

    虚函数感觉总是很神秘,在本质的原理上一直也没有弄得很透彻,今天又有一点的新的感悟,纪录下来,有时间的话可以去研究一下C++对象模型

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace CSGrammar
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             new Dev();//输出:Dev
    14         }
    15     }
    16 
    17 
    18     //子类对象包括父类本身和子类派生两部分,此时在这两部分里的this都指向子类对象。
    19     class Father
    20     {
    21         public Father()
    22         {
    23             Console.WriteLine(this.GetType());//这个this是子类对象,父类的构造函数是由子类调用的
    24             A();//如果是虚函数当然调用的是被子类重写的
    25         }
    26         public virtual void A()
    27         {
    28             Console.WriteLine("Father");
    29         }
    30     }
    31 
    32 
    33     class Dev : Father
    34     {
    35         public override void A()
    36         {
    37             Console.WriteLine("Dev");
    38         }
    39     }
    40 }
  • 相关阅读:
    C#创建ActiveX
    easy-ui 中的事件触发 (tree)
    程序目录
    微信公众平台开发
    Redis分片机制
    Redis主从切换
    Redis主从复制
    Redis持久化机制
    Redis缓存击穿、缓存穿透、缓存雪崩
    Redis与数据库数据一致性
  • 原文地址:https://www.cnblogs.com/FJuly/p/4512545.html
Copyright © 2011-2022 走看看