当前位置:文档之家› C默认构造函数的作用

C默认构造函数的作用

C#默认构造函数的作用
本文详细介绍C#默认构造函数的作用
构造函数主要用来初始化对象。

它又分为静态(static)和实例(instance)构造函数两种类别。

大家应该都了解如果来写类的构造函数,这里只说下默认构造函数的作用,以及在类中保留默认构造函数的重要性。

实际上,我说错了。

正确的说法是:以及在类中保留空参数构造函数的重要性。

我们来写一个类A,代码如下:
view plaincopy to clipboardprint?
public class A
{
public int Number; //数字
public string Word; //文本
}
//在Test类中实例化
public class Test
{
static void Main()
{
A a = new A(); //实例化,A()即为类A的默认构造函数
Console.WriteLine(“Number = {0}"nWord = {1}”,a.Number,a.Word);
Console.read();
}
}
输出的结果是:
Number = 0
Word =
*******************************
using System;
class Point
{
public int x, y,z;
public Point()
{
x = 0;
y = 0;
z = 0;
}
public Point(int x, int y,int z)
{
//把函数内容补充完整
this.x = x;
this.y =y;
this.z =z;
}
public override string ToString()
{
return(String.Format("({0},{1},{2})", x, y,z));
}
}
class MainClass
{
static void Main()
{
Point p1 = new Point();
Point p2 = new Point(10,20,30);
Console.WriteLine("三维中各点坐标:");
Console.WriteLine("点1的坐标为{0}", p1);
Console.WriteLine("点2的坐标为{0}", p2);
}
}
******************************************************************************* *********
C#类的继承,构造函数实现及其调用顺序
类层层派生,在实例化的时候构造函数的调用顺序是怎样的? --从顶层基类开始向子类方向顺序调用无参构造.
默认构造(无参构造)和带参构造什么时候调用?--默认将从顶层父类的默认构造一直调用到当前类的默认构造.
下面是示例:
/**//*--===------------------------------------------===---
作者:许明会
日期:类的派生和构造函数间的关系,调用层次及实现
日期:2008年1月18日 17:30:43
若希望类能够有派生类,必须为其实现默认构造函数.
若类没有实现带参构造,编译器将自动创建默认构造函数.
若类实现了带参构造,则编译器不会自动生成默认构造.
--===------------------------------------------===---*/
using System;
namespace xumh
{
public class MyClass
{
public MyClass ()
{
Console.WriteLine("MyClass:默认构造函数");
}
public MyClass(int a, int b)
{
Console.WriteLine("MyClass带参构造:a={0}, b={1}.", a, b); }
}
public class MyClass2 : MyClass
{
public MyClass2()
{
Console.WriteLine("MyClass2:默认构造函数");
}
public MyClass2(int a, int b)
{
Console.WriteLine("MyClass2带参构造:a={0}, b={1}.", a, b); }
}
public class MyClass3 : MyClass2
{
public MyClass3()
{
Console.WriteLine("MyClass3:默认构造函数");
}
public MyClass3(int a, int b)
{
Console.WriteLine("MyClass3带参构造:a={0}, b={1}.", a, b); }
}
public class runMyApp
{
static void Main()
{
MyClass3 my = new MyClass3(3,4);
}
}
}
/**//*--===------------------------------------------===---
输出如下:
MyClass:默认构造函数
MyClass2:默认构造函数
MyClass3带参构造:a=3, b=4.
--===------------------------------------------===---*/。

相关主题