上篇博客中,我们写了一个猫类,实例化出一个cat1,现在我希望cat1在出生时就有个名字,叫“花花”。那么怎么才能在出生时就给小猫起个名字呢,此时需要考虑用构造方法。
【正文】
构造方法,这是做什么用的?
构造方法:又叫构造函数,其实就是对类进行初始化。构造方法与类同名,无返回值,也不需要void,在new时候调用。
也就是说,在类创建时,就是调用构造方法的时候了,在Cat cat1=new Cat( ) 中,new 后面的 Cat( ) 其实就是个构造方法。
那么我们实例化的时候,没有写过构造方法Cat() ,怎么可以调用呢?
其实所有的类都有构造方法,为了顺利的实例化,系统默认会生成一个空的构造方法,若自己有定义的构造方法,那么默认的构造方法也就失效了。
现在我们希望小猫一出生姓名就叫“花花”,那么就应该写一个有参数的构造方法,代码如下:
class Cat
{
private string name = ""; //声明cat类的私有字符串变量name
public Cat (string name) //定义cat类的构造方法,参数是输入一个字符串
{
this.name = name; // 将参数赋值给私有变量name
}
public string Shout()
{
return "我的名字叫" + name + "喵";
}
}
客户端代码:
private void button1_Click(object sender, EventArgs e)
{
Cat cat1 = new Cat("花花"); //实例化出一个cat1
MessageBox.Show(cat1.Shout());
}
从上面的例子我们可以看出,原来构造方法就是对类进行初始化。这下明白了吗?原来如此。