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 使用更加的快捷方便


    }
}

 

posted @ 2016-11-28 16:23  乐途  阅读(1339)  评论(0编辑  收藏  举报