黑马程序员_构造函数与重载的区别。

时间:2023-01-13 19:04:01
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.重载就是调用函数,然后进行运算。
   构造函数是给初始化对象直接赋值。

  

虽然两者看起来很相似,但是它们的最终目的却完全不一样,重载是进行运算,构造函数是给对象赋值。

搞清了这一点,分辨重载和构造函数就轻松多了!