您当前的位置: 首页 >  c#

C#构造函数的重载

发布时间:2010-11-22 15:19:00 ,浏览量:0

C#中的构造函数也可以应用方法重载。C#中有默认构造函数,也可以定义带参数的构造函数。构造函数必须与类同名,并且不能有返回值。所以C#构造函数重载相当于不同数量的参数方法重载。

using System; class Animal { public string _name; public string _color; public int _speed; public Animal() {     this._speed = 30; } public Animal(string name, string color) {     this._name = name;     this._color = color; } public Animal(string name, string color, int speed) {     this._name = name;     this._color = color;     this._speed = speed; } }

class Program { static void Main(string[]args) {     //方法一     Animal animal1 = new Animal();     animal1._name = "兔子";     animal1._color = "灰色";     //animal1._speed = 40;     Console.WriteLine(       "调用默认构造函数输出动物为{0},颜色为{1},奔跑速度为{2}km/h",

    animal1._name, animal1._color, animal1._speed);     //方法二     Animal animal2 = new Animal("狗", "黄色");     Console.WriteLine("调用两个参数构造函数输出动物为{0},颜色为{1}",       animal2._name, animal2._color);     //方法三     Animal animal3 = new Animal("花猫", "白色", 20);     Console.WriteLine(       "调用三个参数构造函数输出动物为{0},颜色为{1},奔跑速度为{2}",       animal3._name, animal3._color, animal3._speed);     Console.WriteLine("一只" + animal3._color + "的" + animal3._name + "正在以"       + animal3._speed + "km/h的速度在奔跑/n");

    Console.ReadLine();

} }

我们再看一个例子:

using System; class Program { private string _name; private int _age; private string _qualification; public Program() {     _age = 18; } public Program(string name, int age, string qualification) {     this._name = name;     this._age = age;     this._qualification = qualification; }

static void Main() {     Program p = new Program();     Console.WriteLine("默认构造函数输出年龄为" + p._age);     Program p1 = new Program("李公", 19, "大学");     Console.WriteLine("参数构造函数输出姓名为" + p1._name + ",年龄为" + p1._age       + ",文化程度为" + p1._qualification); } }

关注
打赏
1688896170
查看更多评论

暂无认证

  • 0浏览

    0关注

    104724博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0498s