您的位置:首页 > 编程语言 > C#

C#基础 [10] 构造函数

2013-01-02 12:42 302 查看
一、构造函数概述

   构造函数是在创建给定类型的对象时执行的类方法。构造函数具有与类相同的名称,它是类或结构中第一个被执行的方法,通常用于申请内存、初始化新对象的数据成员。任何时候,只要创建类或结构,就会调用它的构造函数。构造函数可以重载,即类或结构可能有多个接受不同参数的构造函数。构造函数使得程序员可设置默认值、限制实例化以及编写灵活且便于阅读的代码。构造函数也被称为构造器或构造方法。

二、实例构造函数

  1.默认构造函数

     如果在类声明中没有显式声明构造函数,那么编译器会自动生成一个隐式的默认构造函数。该构造函数的函数名和类名相同、public、没有参数、方法体为空,它实例化对象,并且将成员字段初始化为成员类型的默认值。无论何时,只要使用 new 运算符实例化对象,并且不为 new 提供任何参数,就会调用默认构造函数。下面是一个Person类的声明,没有显式声明构造函数。

View Code

class Program
{
static void Main(string[] args)
{
// 实例化一个Person类的对象
Person person1 = new Person("George", 40);

// 采用对象person1的值实例化另一个Person类的对象
Person person2 = new Person(person1);
Console.WriteLine(person2.Details);

Console.ReadKey();
}
}

class Person
{
private string name;
private int age;

// 复制构造函数
public Person(Person previousPerson)
{
name = previousPerson.name;
age = previousPerson.age;
}

// 实例构造函数
public Person(string name, int age)
{
this.name = name;
this.age = age;
}

// Get 访问器
public string Details
{
get
{
return name + " is " + age.ToString();
}
}
}


  参考:http://msdn.microsoft.com/zh-cn/library/ms173116(VS.100).aspx

六、对象初始化器

  一般我们创建对象都是使用对象创建表达式:即“new运算符+类的构造函数”。通过这种方式创建完对象之后,再为对象的属性赋值,很麻烦。有一个对象创建表达式的升级版本,它可以简化对象的创建和初始值设定的过程:就是用对象初始化器。对象初始化器有称为“对象初始值设定项”或“对象初始化列表”,用于在创建对象的表达式中为对象的成员赋初值。下面是使用对象初始化器创建对象的两种方式:

// 对象初始化器1:包含参数列表
var person1 = new Person("哈哈") { Name = "哈哈" };

// 对象初始化器2:省略参数列表(推荐)
var person2 = new Person { Name = "汤姆", Age = 18 };


  第二种方式推荐使用,因为它更加简洁,参数列表也是没有必要的。此外,推荐使用var关键字代替类型名。  

  参考:http://msdn.microsoft.com/zh-cn/library/ace5hbzh(VS.100).aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: