C#中的类1:定义(有点乱)

类的定义

创新互联建站是一家专注于网站设计制作、成都做网站与策划设计,永新网站建设哪家好?创新互联建站做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:永新等地区。永新做网站价格咨询:18980820575

class类名

{

类体

}

类的访问级别

C++中的类没有所谓访问级别的问题,只需要导入定义类的头文件,就可以使用这个类。而在C#和Java中,并不是所有的类都可以被任意使用。

在Java中,程序以包(package)的方式来组织,包的结构类似于文件夹。如果想使用另一个包里定义的类,除了要先导入这个包之外,想使用的这个类还必须是公有类(以public关键字定义的类)。如果在定义类的时候没有使用关键字public来修饰,则这个类只能在定义它的包里被使用。

在C#中,系统按照“解决方法”、“项目”和“源文件”的的组织。“解决方案”的级别最高,一个“解决方案”可以包含若干个“项目”。然后,从文件的层次来讲,一个“项目”中可以包含若干个C#源文件,一个C#源文件中可以包含若干个命名空间、类、接口、枚举等。从程序元素的层次来看,一个项目中可以包含命名空间、类、接口等。

与Java类似,C#中的类按照访问级别被分为内部类(这里讲的“内部”是指访问级别,不是指在类中定义的类)和公有类。内部类只能在本项目被使用,如果想让某个类能被其他项目中的类访问,则必须将其定义为公有类。

公有类用public关键字修饰;

内部类可以用关键字internal修饰,但一般不采用这种方式,因为C#中规定,没有加关键字public的类就是内部类。

普通类、抽象类和密封类

如果在定义类时使用了关键字abstract,那么这个类就是抽象类。抽象类本身不能被实例化,

只能被继承。

如果在定义类时使用了关键字sealed,那么这个类就是所谓的“密封类”,和抽象类刚好相反,密封类不能被继承(类似于Java中的final类)。

如果在定义类是没有使用关键字abstract或sealed,那么这个类就是一个普通的类。

注意:关键字abstract和sealed是互斥的。

以上的三种类都可以是public的或internal的。

继承父类与实现接口的格式

class类名 :父类,接口1,接口2,...

{}

和Java类似,C#中只能直接继承一个父类,但可以实现多个接口。在不同于Java中的继承父类用关键字extends,实现接口用关键字implements。C#中采用了类似C++中的方式,即:使用冒号。

在书写格式上,冒号后面的列表中必须是父类在前,接口在后。

不同于C++,在冒号后面的列表中不能使用访问级别修饰符。

要注意的是,C#规定,子类的访问级别不能高于基类。

如果基类是抽象类,那么派生类必须要实现基类中的所有抽象方法,否则,派生类也必须是抽象类。

当然,子类也必须实现其实现的接口的所有方法。

接口的定义

使用关键字interface定义接口,而且规定接口名必须以大写的英文字母I开头。

接口也可以是internal的或public的。但不能对接口使用关键字abstract和sealed。

接口可以有父接口


分享名称:C#中的类1:定义(有点乱)
分享网址:http://scyanting.com/article/pdccej.html