c# 类的构造函数的默认定义和个性化定义

默认的,类的构造函数名是和类名是相同的。

初学者可能会有一个疑问。因为类的定义格式和类的建造格式不一样。

类的定义:

class ClassName{

public int membervariable;

public void function()

{

;

         }

                           }

类的建造,实际上,是类的对象的建造:

ClassName myObject =  new ClassName();

ClassName后面怎么多了个括号呢?是个函数的形式,但是定义的时候,并没有定义这样一个函数呀?这是初学者,也是我在初学的时候的疑问。后来搞懂了。定义了一个类,则有一个默认的与类名同名的构造函数,它建造类的对象的成员,然后返回这个对象。我们在建造的时候,调用的就是这么一个函数。当然,也可以个性化定义这个构造函数。在完成基本类的对象的构造功能的同时,还能完成我们个性化定义的功能。如何体现这个函数是构造函数,与众不同呢?那就是不能同一般函数的格式。下面就是一个构造函数

public ClassName()

{
indivisualized definition of the constructive function;

}

看到了吗,它没有返回类型!!!一般函数都是要返回类型的,它没有,它就是这么特别,因为它是类的构造函数!当然,它的名字要同类的名字。因为,它是类的构造函数!

个性化定义构造函数有一个好处,就是在类的建立的时候。可以同时做一些工作,可以是一点微小的工作,也可以是大的工作。在下面这个除法类的定义中,个性化定义构造函数之后,就可以在类的对象建造的时候完成除法运算。要注意的是,因为构造函数返回的是对象,因此,不能像一般函数那样,返回计算的结果数据。可以给除法类定义一个成员变量,用来存储这个计算数据结果。

using System;

namespace ConstrutorDefinition
{
class Divide    { 
	public int result;//定义一个成员变量,存贮结果,因为构造函数无法返回数据类型,返回的是对象类型

	public Divide(int a,int b)
		{
		result = a/b;//将计算结果存储在成员变量里面,而不是return a/b;
		 }
	             }
class Program{
	public static void Main(string[] args)
		{
		Divide d = new Divide(4,2);//在构造类的对象的同时完成计算
		Console.WriteLine("the result is {0}",d.result);//访问对象的成员变量获得计算结果
		Console.Write("Press any key to continue . . . ");
		Console.ReadKey(true);
		 }
              }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值