namespace 构造函数 { class Program { static void Main(string[] args) { Person p1 = new Person(); Person p2 = new Person("tom"); Person p3 = new Person("jerry",18); Console.WriteLine("年龄是{0},名字叫{1}",p1.Age,p1.Name); Console.WriteLine("年龄是{0},名字叫{1}", p2.Age, p2.Name); Console.WriteLine("年龄是{0},名字叫{1}", p3.Age, p3.Name); Console.ReadKey(); } } class Person { public string Name { get;set; } public int Age { get; set; } public Person() { Name = "未命名"; Age = 0; } public Person(string name) { this.Name = name; } public Person(string name, int age) { this.Name = name; this.Age = age; } } }
namespace 重载 { class Program { static void Main(string[] args) { Console.WriteLine(Add(9, 9)); Console.WriteLine(Add(0.1, 0.3)); Console.WriteLine(Add(111111111111111, 777777777777777)); Console.ReadLine(); } static int Add(int a,int b) { return a + b; } static double Add(double a, double b) { return a + b; } static long Add(long a, long b) { return a + b; } } }
重载和构造函数都是根据参数来调用方法,那他们有什么区别呢?
1.构造函数是一种特殊的方法,主要是为了给初始化对象赋初值
重载函数就是函数名相同,多个参数个数或类型有差异的函数
2.重载就是调用函数,然后进行运算。
构造函数是给初始化对象直接赋值。
虽然两者看起来很相似,但是它们的最终目的却完全不一样,重载是进行运算,构造函数是给对象赋值。
搞清了这一点,分辨重载和构造函数就轻松多了!