热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

那些年我们学过的构造函数(构造方法,C#)

构造函数也称构造方法,在面向对象中称为构造方法,在面向过程中称为构造函数;C#是面向对象的语言,所以以下都称为构造方法,OK,下面我们先看一下什么是构造函数classDog{创建一

   构造函数也称构造方法,在面向对象中称为构造方法,在面向过程中称为构造函数;C#是面向对象的语言,所以以下都称为构造方法,

OK,下面我们先看一下什么是构造函数

class Dog{//创建一个狗类,声明两个属性public string name { get; set; }public int Age { get; set; }//无参构造函数public Dog(){}
}

  上面的代码就是无参的构造方法,其实我们每次 new 对象时都必须调用构造方法,那么问题就来了,既然每次 new 对象都要调用构造方法,那么我们没写这个构造方法怎么也可以new 出来的呢?其实在我们不显式的创建构造方法的时候,系统会在后台自动隐式的创建无参的构造方法;

   那既然系统会自动创建构造方法我们为什么要手动创建构造构造方法呢?那是为了创建代参的构造方法,当显式的创建构造方法时,系统不会自动的创建无参构造方法;所以要创建代参构造方时,就要先创建无参的构造方法;代码如下:

class Dog{//创建一个狗类,声明两个属性public string Name { get; set; }public int Age { get; set; }//无参构造函数public Dog(){}//代参构造函数public Dog(string name,int age){this.Name = name;this.Age = age;}}

代参方法的书写规范:

1.方法名要与类名相同;

2.构造方法不能有返回值,连void都不可以有;

说了这么多代参方法有什么用呢?

代参构造方法就是可以为对象初始化成员变量;简单,方便,快捷!!!

       //普通的初始化对象Dog dog1 = new Dog();dog1.Name = "花花";dog1.Age = 2;Console.WriteLine("我的名字叫做{0},今年{1}岁了",dog1.Name,dog1.Age);Console.WriteLine("++++++++++++++++++++++++++++++++++++++++++++++++");//有代参构造方法时初始化对象Dog dog2 = new Dog("阿黄",18);Console.WriteLine("我的名字叫做{0},今年{1}岁了",dog2.Name,dog2.Age);Console.ReadLine();

从上面的代码可以看出有,有代参构造方法时初始化对象的代码要比没有代参构造方法时简洁要的多

执行结果:

这只是构造方法的简单运用,还有很多的高级用法期待大家的挖掘:

 

转:https://www.cnblogs.com/www-datou-com/p/5813185.html



推荐阅读
author-avatar
楠楠妈妈05乄23
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有