C#学习历程,九[类的定义与声明]

一、C#中类的声明

在C#中必须先声明类,然后才能在程序中使用。

类的声明格式如下:

[类的属性] [访问修饰符] class 类名称 [: 父类名]

{

[成员修饰符] 类的成员变量或者成员函数

}

》》类的属性:类的属性集。

》》访问修饰符:说明类的特性。类的修饰符可以是以下几种之一或者是它们的组合:

》》new:只允许在嵌套类声明时使用,表明类中隐藏了由基类中继承而来的并且与基类中同名的成员。

》》public:公有类,允许对该类进行访问。

》》protected:受保护类,只能从所在类和所在类派生的子类中进行访问。

》》internal:内部类,在同一个项目里的所有代码都可以访问这个类。如果类没有添加访问修饰符,会被默认声明为“internal”。

》》private:私有类,只有本类才能访问。

》》abstract:抽象类,访问不受限制,但只能被继承,不能建立类的实例。

》》sealed:密封类,不允许被继承,只能建立类的实例。

》》class:声明类的关键字。

》》类名称:自定义的类的名称。

》》父类名:可以省略,表示被继承的类的名称。如果省略,则默认从object类继承而来。“父类名”也可以是接口,一个类可以继承多个接口,如果有多个接口时,请用逗号分隔开。

类与类之间只能单继承,但是类可以在继承一个父类的同时继承一个或多个接口。如果在类的声明中,既有父类又有接口类,则需要在冒号后面先放父类,然后再放接口名。

二、示例

namespace Test // 声明命名空间

{

class Program // 声明类

{

public Program() // 构造函数

{

.......

}

// 类成员和方法

}

}

如果使用public关键字来声明类Program,则其他项目中的代码也可以访问这个类。在本例中没有使用访问修饰符,类会被默认声明为“internal”,表示只有在同一项目里的所有代码才可以访问这个类。

一个类的创建需要三部分:命名空间、声明类和构造函数。

?命名空间:主要是区别不同程序集中的类。在Microsoft Visual Studio中创建项目时,会自动创建命名空间。

?构造函数:定义类时必须创建的函数。如果不创建构造函数,创建的类也会有默认构造函数。

一、C#中类的声明

在C#中必须先声明类,然后才能在程序中使用。

类的声明格式如下:

[类的属性] [访问修饰符] class 类名称 [: 父类名]

{

[成员修饰符] 类的成员变量或者成员函数

}

》》类的属性:类的属性集。

》》访问修饰符:说明类的特性。类的修饰符可以是以下几种之一或者是它们的组合:

》》new:只允许在嵌套类声明时使用,表明类中隐藏了由基类中继承而来的并且与基类中同名的成员。

》》public:公有类,允许对该类进行访问。

》》protected:受保护类,只能从所在类和所在类派生的子类中进行访问。

》》internal:内部类,在同一个项目里的所有代码都可以访问这个类。如果类没有添加访问修饰符,会被默认声明为“internal”。

》》private:私有类,只有本类才能访问。

》》abstract:抽象类,访问不受限制,但只能被继承,不能建立类的实例。

》》sealed:密封类,不允许被继承,只能建立类的实例。

》》class:声明类的关键字。

》》类名称:自定义的类的名称。

》》父类名:可以省略,表示被继承的类的名称。如果省略,则默认从object类继承而来。“父类名”也可以是接口,一个类可以继承多个接口,如果有多个接口时,请用逗号分隔开。

类与类之间只能单继承,但是类可以在继承一个父类的同时继承一个或多个接口。如果在类的声明中,既有父类又有接口类,则需要在冒号后面先放父类,然后再放接口名。

二、示例

namespace Test // 声明命名空间

{

class Program // 声明类

{

public Program() // 构造函数

{

.......

}

// 类成员和方法

}

}

如果使用public关键字来声明类Program,则其他项目中的代码也可以访问这个类。在本例中没有使用访问修饰符,类会被默认声明为“internal”,表示只有在同一项目里的所有代码才可以访问这个类。

一个类的创建需要三部分:命名空间、声明类和构造函数。

?命名空间:主要是区别不同程序集中的类。在Microsoft Visual Studio中创建项目时,会自动创建命名空间。

?构造函数:定义类时必须创建的函数。如果不创建构造函数,创建的类也会有默认构造函数。