点点滴滴访问量:
构造函数

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

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  阅读(2478)  评论(5编辑  收藏  举报