C# 构造函数,base()
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //第一种情况 B b = new B(); // 第二种用法 B1 w = new B1(); w.Hello(); Console.WriteLine(); } #region 第一种情况 public class A { public A() //构造函数 和实例化对象类似,不过还是有一点不同的 { Console.WriteLine("Hello"); //代表着本类独有的一些属性,可以直接在构造函数里面直接进行操作。 } } public class B:A { public B() : base() //Base() 在子类的构造函数 上面类似于继承,不过这里的Base()方法 是直接把父勒种的一些属性直接的输出 { Console.WriteLine("Word"); } } #endregion #region 第二种用法 public class A1 { public virtual void Hello() { Console.WriteLine("Hello"); //代表着本类独有的一些属性,可以直接在构造函数里面直接进行操作。 } } public class B1 : A1 { public override void Hello() //Base() 在子类的构造函数 上面类似于继承,不过这里的Base()方法 是直接把父勒种的一些属性直接的输出 { base.Hello();//直接调用基类的方法进行 这样比较与 Hello h=new Hello();可以尽可能的减少我们的代码 ; Console.WriteLine("Word"); } } #endregion #region 第三种用法 public class C { public void Hello(string Str) { Console.WriteLine(Str); //代表着本类独有的一些属性,可以直接在构造函数里面直接进行操作。 } } public class D : C { public void Hello1() //Base() 在子类的构造函数 上面类似于继承,不过这里的Base()方法 是直接把父勒种的一些属性直接的输出 { string str = "Hollo Word"; base.Hello(str);//直接调用基类的方法进行 这样比较与 Hello h=new Hello();可以尽可能的减少我们的代码 ; Console.WriteLine("你好世界!{0}", str); } } #endregion //其实在实际应用的时候,我建议新手还是 实例化兑现比较好一点 //base 配合着this 使用更加的快捷方便 } }
不要在自己迷茫的时候不学习