注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 关于memcache 测试
 帮助

快速撑握C#知识点之类的函数成员(二)


2008-07-18 21:59:00
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
在上一篇,我们了解了一下方法的概念,以下内容将继续C#中类的函数成员构造方法及析构方法:

概念:构造方法,大家也习惯叫做构造函数,构造方法与类名是相同的,没有返回值,同时也不需要void关健字,但是可以设置参数。构造方法是在实例化(new)时调用的,从而我们可以通过构造函数对类进行一些初始化的设置。
例:
    class Test
    
{
        
private string strI = ""//声明一个字段strI
        /// <summary>
        
/// 在构造函数中为strI初始化值
        
/// </summary>

        public Test()
        
{
            strI 
= "状态比能力重要";
        }


        
/// <summary>
        
/// 用Run方法返回strI
        
/// </summary>
        
/// <returns></returns>

        public string Run()
        
{
            
return strI;
        }

    }

    class Program
    
{
        
static void Main(string[] args)
        
{
            Test T 
= new Test();//建立对象T的引用为Test,并为实例化。
            Console.WriteLine(T.Run());//T.Run为对象T中的方法。
            Console.ReadLine();
        }

    }

在实际的应用中,我们经常会遇到在实例化对象时,就需要为类中传递一些参数,这种情况下,我们可以使用构造方法的参数。比如,我们为上例增加一个叙述者的名字,并可以让叙述者说不同的话:
    class Test
    
{
        
private string strI = ""//声明一个字段strI
        /// <summary>
        
/// 在构造函数中为strI初始化值
        
/// </summary>

        public Test(string name,string strI)
        
{
            
this.strI = name +"说:"+ strI;
        }


        
/// <summary>
        
/// 用Run方法返回strI
        
/// </summary>
        
/// <returns></returns>

        public string Run()
        
{
            
return strI;
        }


    class Program
    
{
        
static void Main(string[] args)
        
{

            Test T 
= new Test("周恩来""我们爱我们的民族,这是我们自信心的源泉。");//建立对象T的引用为Test,并为实例化。
            Console.WriteLine(T.Run());//T.Run为对象T中的方法。
            Console.ReadLine();
        }

    }
可以看到,在构造方法加上参数之后,我们在实例化对象时,同样也需要为这些参数加上相应的参数。

构造方法在实际的开发过程中应用非常广泛,包括在应用设计模式时同样会有非常多的地方用到。

析构方法,也叫析构函数,是用来析构类的实例释放资源的。不过很多时候我们不需要去应用析构方法,因为.NET Framework 垃圾回收器会隐式地管理对象的内存分配和释放,但是,当应用程序封装窗口、文件和网络连接这类非托管资源时,应当使用析构函数释放这些资源。
例:
    class Test
    
{
        
~Test()
        

        
        }

    }
注意:
类中能有多个构造方法可以形成重载,但是只能有一个析构方法。
构造方法能有修饰符及参数,而析构方法既没有修饰符,也没有参数。
构造方法和析构方法无法继承,构造方法可以被重载,析构方法不可以。
构造方法和析构方法都无法调用,他们都是自动运行的。

本文出自 “共享经验” 博客,转载请与作者联系!





    文章评论
 
2008-08-01 16:15:14
这些文章写的不错啊,清晰明了,对我这样的新手很有帮助,期待博主的最新作品

博主回复:
只要有时间,就会为大家分享更多的文章
2008-10-15 10:34:04

2008-08-22 11:22:08
恩不错,函数的学习在开发中很重要,C#的函数也很多。

博主回复:
是啊,不过在C#中,方法都是在类中的,而类又分门别类的包含在类库中...
2008-10-15 10:35:57

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: