c# base关键的理解

base 最大的使用地方在面相对性开发的多态性上。(什么是多态,如何理解多态)

base可以【完成】创建派生类实例时调用其基类构造函数或者调用基类上已经被其他方法重写的方法

//关于base调用基类构造函数(只能是一个类的构造函数调用另一个类的构造函数)

1
2
3
4
5
6
7
8
9
10
11
12
public class A {
       public A(){
           Console.WriteLine("Build A");
       }
   }
 
   public class B : A {
       public B() :base()
       {
           Console.WriteLine("Build B");  
        }
   }<br>//创建一个B的实例对象,获得结果是同时Build A 和 Build B.<br><br> 实例化 B类<br>输出结果:Build A          Build //进一步扩展  调用基类的构造函数的理<em id="__mceDel"><strong>public class BaseClass</strong></em><em id="__mceDel"><em id="__mceDel"><strong>{<br>    int num;<br>    public BaseClass()<br>    {<br>        Console.WriteLine("in BaseClass()");<br>    }<br>    public BaseClass(int i)<br>    {<br>        num = i;<br>        Console.WriteLine("in BaseClass(int {0})", num);<br>    }<br>}<br>public class DerivedClass : BaseClass<br>{<br>    // 该构造器调用  BaseClass.BaseClass()<br>    public DerivedClass()<br>        : base()<br>    {<br>    }<br>    // 该构造器调用 BaseClass.BaseClass(int i)<br>    public DerivedClass(int i)<br>        : base(i)<br>    {<br>    }<br>    static void Main()<br>    {<br>        DerivedClass dc = new DerivedClass();<br>        DerivedClass dc1 = new DerivedClass(1)();<br>        Console.ReadLine();<br>    }<br>}</strong><br><br></em></em>

// 在派生类总调用基类的方法(实际是对虚方法的重写) 

1
2
3
4
5
6
7
8
9
10
11
12
13
public class Q {
    public virtual void Hello() {
        Console.WriteLine("Hello");
    }
}
 
public class W : Q {
    public override void Hello()
    {
        base.Hello();
        Console.WriteLine("World");
    }
}<br>    实例化  W类<br>    输出结果  hello world

  

posted @   zmztyas  阅读(319)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示