基础知识之构造函数

      并不是每个人都做一个好的程序员,一个优秀的程序员必须具备耐心、横心和钻研的精神,我只认为自己不是一个好的程序员。不可能很耐心地看完书本上很多基础概念的东西,我自认为自己的耐心也不是很差,也许这不但与我自身有关,也有书如何对概念文字才能让读者产生很大的心情有关。我对只拼命描述概念的书有些反感。一些概念如何不加以实例的应用,怎么才能更好的理解这些概念呢?
     下面我们先描述一下关于“构造函数”的概念并以实例进行详细说明。
构造函数声明可以包含一组属性四个访问修饰符(分别是public、protected、internal和private)的有效组合和一个extern修饰符。一个构造函数声明中同一修饰符不能多次出现。
 
构造函数声明符中的标识符必须是声明了该实例构造函数的那个类的名称。如果指定了任何其他名称,则发生编译时错误。

本示例显示如何指定在创建派生类实例时调用的基类构造函数。

/*this is a application for base  and  构造函数*/
using System;

namespace ConsoleApplication1
{
 /// <summary>
 /// BaseApplication 的摘要说明。
 /// </summary>
 public class BaseApplication
 {
  public BaseApplication()
  {
   Console.WriteLine("this is a application for base.");
  }

  public BaseApplication(int i,int j)
  {
   string str="these are values of "+i.ToString()+" and "+j.ToString();
   Console.WriteLine(str);
  }

  public BaseApplication(int i,int j,int k)
  {
   string str="these are values of "+i.ToString()+" and "+j.ToString()+" and "+k.ToString();
  }
 }

 public class BaseInfo:BaseApplication
 {
  public BaseInfo():base()
  {
  }

  public BaseInfo(int i,int j):base(i,j)
  {
  }

  internal BaseInfo(int i,int j,int k):base(i,j,k)
  {
  }
 }
 
}
//====================//
在另一个程序集中调用时,代码如下:
BaseInfo baseInfo=new BaseInfo();
BaseInfo baseInfo2=new BaseInfo(10,20);
此时只能调用public修饰符合,因为internal只能在同一个程序集中进行调用。
 

原文地址:https://www.cnblogs.com/yuyu/p/388691.html