微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#构造函数的重载

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);
}
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐