初识构造函数

来源:互联网 发布:qq五笔 for mac 编辑:程序博客网 时间:2024/05/16 15:24

前言:

在看C#视频的时候,学到了构造函数,觉得很有意思,因为了解还不够深入,这里先做个简单的小总结。
首先我们要知道为什么要使用构造函数,或者说我们要知道使用构造函数能够为我们解决什么问题:
1、在赋初值的时候,我们可能需要重复书写对象名,但是如果使用了构造函数就不用那么繁琐。毕竟代码像那个什么一样,越短越好嘛(大家都知道,我就不说出来了)。
2、假如有这样一个属性,不允许用户随意改动,我们一般把这个属性定义为只读类型的属性。那么这个只读类型的属性就不能再实例化之后对它赋值了,那么我们如何对它初始化呢?聪明如你,构造函数可以帮到我们。

那么这么好用的东西,编译器有没有为我们做出来呢?当然有了,我们定义好一个类,如果没有写构造方法,那么编译器就会自动在这个类中给我们添加一个没有参数的构造方法。而一旦我们写了一个构造方法,那么编译器就不会再给我们添加这个没有参数的构造方法了。

说了这么多,构造函数到底是个什么东西呢?构造函数是用来创建对象的特殊方法,方法名和类名一样,没有返回值,连void都不用。语法格式是什么呢?
[访问修饰符] <类名>(参数)
{
//构造函数的主体
}

下面说一说构造函数的几个特点吧:
1、 其名字必须和类名相同
举个栗子:
public class Person
{
public Person(string name,char gender,int age)
{
this._name = name;//this指示代词
this._gender = gender;
this._age = age;
}
2、 不能被直接调用,必须使用new运算符来调用。
在上面的栗子中,我们调用Person类的时候,应该这样写:
Person zsPerson = new Person(“张三”,’男’,18);
3、 它可以重载(一个类中可以定义不同参数个数或不同类型的构造函数)。刚才有一点没有说,那就是如果我们写了一个构造函数之后,原来的无参数的构造函数不就没了嘛,这个时候我们又需要的时候该怎么办呢?那就是自己再写一遍。

总结:

构造函数可以用来创建对象,并且可以在构造函数中对对象进行初始化。小编出道时间还短,希望大家可以多多指出不足之处。

1 0