-
C#
中的类定义(
1
)
C#
使用
class
关键字来定义类:
class MyClass
{
// Class members.
}
< br>这段代码定义了一个类
MyClass
。
定义了一个类后,
就可以在项目中能访问该定义的其他地方对该类进行实例化。
在默认情况下,类声明为内部的,即只有当前项目中的代码才能访问它。可以用
internal
访问修饰符关键字显
式指定,
如下所示
(
但这是不必要的
)
:
internal class MyClass
{
// Class members.
}
< br>另外,还可以指定类是公共的,应可以由其他项目中的代码来访问。为此,要使用关键字
< br>public
。
public class MyClass
{
// Class members.
}
注意:
以这种方式声明的类不能是私
有或受保护的。可以把这些声明类的修饰符用于声明类成员,详见第
10
章。
除了这两个访问修饰符关键字外,还可以指定类
是抽象的
(
不能实例化,只能继承,可以有抽象成员
)
或密封
的
(seale
d
,不能继承
)
。为此,可以使用两个
互斥的关键字
abstract
或
s
ealed
。所以,抽象类必须用下述方式
声明:
public abstract class MyClass
{
// Class members, may be
abstract.
}
其中
MyC
lass
是一个公共抽象类,也可以是内部抽象类。
密封类的声明如下所示:
public sealed class MyClass
{
// Class members.
}
与抽象类一样,密封类也可以是公共或内部的。
还可以在类定义中指定继承。为此,要在类名的后面加上一个冒号,其后是基类名,例如:
public class MyClass : MyBase
{
// Class members.
}
注意,在
C#
的类定义中,只能有一个基类,如果继承了一个抽象类,就必须实现所继承的所有抽象成员
< br>(
除
非派生类也是抽象的
)
p>
。
编译器不允许派生类的可访问性比其基
类更高。也就是说,内部类可以继承于一个公共类,但公共类不能继
承于一个内部类。因
此,下述代码是合法的:
public class
MyBase
{
// Class members.
}
internal class MyClass :
MyBase
{
// Class members.
}
但下述代码不能编译:
internal class MyBase
{
// Class members.
}
public class MyClass :
MyBase
{
-
-
-
-
-
-
-
-
-
上一篇:SAP自学系列-MM快速入门
下一篇:深度探索C++对象模型笔记