带你了解C#中的构造函数


本文摘自PHP中文网,作者Y2J,侵删。

前言:

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

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

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

下面说一说构造函数的几个特点吧:
1、 其名字必须和类名相同
举个栗子:

1

2

3

4

5

6

7

8

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、 它可以重载(一个类中可以定义不同参数个数或不同类型的构造函数)。刚才有一点没有说,那就是如果我们写了一个构造函数之后,原来的无参数的构造函数不就没了嘛,这个时候我们又需要的时候该怎么办呢?那就是自己再写一遍。

总结:

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

前言:

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

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

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

下面说一说构造函数的几个特点吧:
1、 其名字必须和类名相同
举个栗子:

1

2

3

4

5

6

7

8

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、 它可以重载(一个类中可以定义不同参数个数或不同类型的构造函数)。刚才有一点没有说,那就是如果我们写了一个构造函数之后,原来的无参数的构造函数不就没了嘛,这个时候我们又需要的时候该怎么办呢?那就是自己再写一遍。

以上就是带你了解C#中的构造函数的详细内容!

相关阅读 >>

C#中二分法查找的入门(代码介绍)

c#中的console.read()方法详解

C#基础入门之算法-交换的代码示例

C#devexpress gridcontrol日期行的显示格式设置详解(图文)

asp.net实现分页(非控件,输出html代码)

C#中关于的for循环与foreach循环的对比

C#中sealed关键字的作用详解

详细介绍用C#描述数据结构0:导图

详细介绍C#实现的md5加密功能与用法示例

使用C#实现发送自定义的html格式邮件的代码案例

更多相关阅读请进入《C#》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...