点点滴滴 访问量:
posts - 84,comments - 115,trackbacks - 6
构造函数

         构造函数是类的一种特殊方法,它的特殊性主要体现在如下几方面:

l      构造函数的方法名和类名相同;

l      构造函数没有返回类型;

l      构造函数的主要作用是完成对类对象的初始化工作;

l      在创建一个类的新对象时,系统会自动调用该的构造函数初始化新对象;

 C#的类有两种构造函数:实例构造函数和静态构造函数。

         实例构造函数负责:初始化类中的实例变量,它只有在用户用new关键字时才被调用。而且作为引用类型的类;

 

 

 

 

using System;

 

namespace gouzaohanshu

{

    /// <summary>

    /// Class1 的摘要说明。

    /// </summary>

    class Class1

    {

        /// <summary>

        /// 应用程序的主入口点。

        /// </summary>

        [STAThread]

        static void Main(string[] args)

        {

            MyClass c = new MyClass();

            c.ShoeMsg();

        }

    }

    class MyClass

    {

        private string msg;

        public MyClass()

        {

            msg = "Hello World";

        }

        public void ShoeMsg()

        {

            Console.WriteLine(msg);

        }

    }

}

 

 

2005-12-7

12、带参数的构造函数

         类一旦有了自己的构造函数后,无论是有参数的还是无参数,默认构造函数都将无效。

        下面的例了中,类MyClass的构造函数带有一个串型参数s,在使用new关键字实例化MyClass类时,传入了字符串”Hello World”.运行结果是在控制台上显示出”Hello World”

   例:

 

using System;

 

namespace daicanshugzhs

{

    class Class1

    {

        [STAThread]

        static void Main(string[] args)

        {

            MyClass c = new MyClass("Hello World!");

            c.ShowMsg();

        }

    }

    class MyClass

    {

        private string msg;

 

        public MyClass(string s) //此构造函数是个带参数的函数

        {

            msg = s;

        }

        public void ShowMsg()

        {

            Console.WriteLine(msg);

        }

    }

}

 

 

 

13、构造函数的重载

        可以像重载方法一样,对一个类重载构造函数,途径是为构造函数提供不同的参数个数或参数类型。

例:

using System;

 

namespace gzhschongzai

{

    class Class1

    {

        [STAThread]

        static void Main(string[] args)

        {

            MyClass c1 = new MyClass();//用无参构造函数实例化类MyClass

            MyClass c2 = new MyClass("Hello Everyone");//用有参构造函数实例化类MyClass

            c1.ShowMsg();

            c2.ShowMsg();

        }

    }

    class MyClass

    {

        private string msg;

 

        public MyClass() //定义无参构造函数

        {

            msg = "Hello World";

        }

        public MyClass(string s)//定义有参构造函数

        {

            msg = s;

        }

        public void ShowMsg()

        {

            Console.WriteLine(msg);

        }

    }

}

posted on 2006-04-12 16:44 sopper 阅读(1859) 评论(4)  编辑 收藏

FeedBack:
2006-05-15 20:20 | 耻 [未注册用户]
构造函数的作用的文字表达
  回复  引用    
2006-06-17 02:45 | rokr [未注册用户]
楼主为什么要把简单的问题写的乐复杂呢,
  回复  引用    
2006-06-18 12:06 | coderlee [未注册用户]
噢 没有返回类型,我以前记得有返回类型来着,呵呵 记错了

可以重载。。



属性有返回类型 但属性没有参数(其实是有的,value是属性的隐含参数,而属性的返回类型指定的就是隐含参数value的类型)

搂主也喜欢研究C#啊 交个朋友怎么样

我想交几个喜欢深入研究C# OOP的朋友

C#是单根继承类型系统(所有类型均派生自Object),但C#同样支持泛型,所以C#真的越来越强大了!
  回复  引用    
#4楼 [楼主]
2006-06-19 11:37 | sopper      
很高兴认识你,希望以后能多交流,一起学习@coderlee

  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  博客园首页

  新闻频道

  社区

  小组

  博问

  网摘

  闪存

  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
成果网帮您增加网站收入


相关链接: