A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黒■色 中级黑马   /  2014-4-1 12:04  /  1407 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黒■色 于 2014-4-1 14:45 编辑

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技术分 +1 收起 理由
czwanglei + 1

查看全部评分

8 个回复

倒序浏览
构造函数是一种特殊的方法,主要是为了给初始化对象赋初值
重载函数就是函数名相同,多个参数个数或类型有差异的函数
回复 使用道具 举报
mdb 发表于 2014-4-1 12:39
构造函数是一种特殊的方法,主要是为了给初始化对象赋初值
重载函数就是函数名相同,多个参数个数或类型有 ...

重载函数我理解了,但是对于构造函数 我还是有点迷糊
构造函数式为了给初始化对象赋值,那我为什么不能再初始化对象的时候直接赋值呢?何必还要建造一个构造函数来给初始化对象赋值啊,觉得有点多此一举。  构造函数的好处是什么。。
回复 使用道具 举报
构造函数是一个特殊的方法,它通常在类的成员最前面,主要用于在创建实例时对对象进行初始化。
重载是参数列表不一致的几个同名方法。
回复 使用道具 举报
邓江红 发表于 2014-4-1 13:27
构造函数是一个特殊的方法,它通常在类的成员最前面,主要用于在创建实例时对对象进行初始化。
重载是参数 ...

重载就是调用函数,然后进行运算。
构造函数是给初始化对象直接赋值。
我明白了,一个是进行运算,一个是给对象赋值。对吧?
回复 使用道具 举报
黒■色 发表于 2014-4-1 13:12
重载函数我理解了,但是对于构造函数 我还是有点迷糊
构造函数式为了给初始化对象赋值,那我为什么不能再 ...

构造函数的参数不是正好可以方便自己直接赋值吗,如果没有自己还要写代码逐个给字段赋值,假如类里的字段是private,那还得重新写个方法给他们赋值吧...
回复 使用道具 举报
mdb 发表于 2014-4-1 13:49
构造函数的参数不是正好可以方便自己直接赋值吗,如果没有自己还要写代码逐个给字段赋值,假如类里的字段 ...

我大概懂了 是不是这么回事
我给的这段代码,初始化对象少,所以我觉得用构造函数多此一举
可是如果遇到需要创建很多很多个对象的时候,写构造函数就很方便,不必每一个对象都要写代码给它赋值!
对吗?
回复 使用道具 举报
mdb 中级黑马 2014-4-1 14:00:43
8#
黒■色 发表于 2014-4-1 13:57
我大概懂了 是不是这么回事
我给的这段代码,初始化对象少,所以我觉得用构造函数多此一举
可是如果遇到 ...

这是其中一个原因吧,还有其他的原因...
回复 使用道具 举报
mdb 发表于 2014-4-1 14:00
这是其中一个原因吧,还有其他的原因...

3Q了,大致已经了解了。
自己以后再实践中再继续领悟构造的精华!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马