为什么有构造方法?

上篇博客中,我们写了一个猫类,实例化出一个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());

        }

从上面的例子我们可以看出,原来构造方法就是对类进行初始化。这下明白了吗?原来如此。

猜你喜欢

转载自blog.csdn.net/zhanduo0118/article/details/85245231