C#基础—关于类

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

类实际上是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法。类定义了每个对象可以包含什么数据和功能,但类自己不能包含数据。比如一个类代表一个人,它就可以定义所以人相关的信息(身高、年龄、体重等)。使用时,事例化对象表示某一个人。

类的成员

可以分为两大类类本身所声明的以及从基类中继承而来的

类的成员有以下类型

􀁺 成员常量,代表与类相关联的常量值

􀁺 域,即类中的变量

􀁺 成员方法,复杂执行类中的计算和其它操作

􀁺 属性,用于定义类中的值并对它们进行读写

􀁺 事件,用于说明发生了什么事情

􀁺 索引,指示器允许像使用数组那样为类添加路径列表

􀁺 操作符,定义类中特有的操作

􀁺 构造函数和析构函数,分别用于对类的实例进行初始化

new

仅允许在嵌套类声明时使用表明类中隐藏了由基类中继承而来的

与基类中同名的成员

public

表示不限制对该类的访问

protected

表示只能从所在类和所在类派生的子类进行访问

internal

只有其所在类才能访问

private

只有对包.Net 中的应用程序或库才能访问

abstract

抽象类不允许建立类的实例

sealed

密封类不允许被继承

virtual

方法可以被其他派生类重写

override

方法重写继承的方法或抽象的方法

extern

方法在外部被另一种语言执行

使用internal 修饰符的类的成员是一种特殊的成员这种成员对于同一包中的应用

程序或库是透明的而在包.Net 之外是禁止访问的

使用下面的例子说明一下类的成员的访问修饰符的用法

程序清单10-1

using System;

class Vehicle//定义汽车类

{

public int wheels; //公有成员轮子个数

protected float weight; //保护成员重量

public void F(){

wheels = 4;//正确允许访问自身成员

weight = 10; //正确允许访问自身成员

}

};

class train //定义火车类

{

public int num; //公有成员车厢数目

private int passengers; //私有成员乘客数

private float weight; //私有成员重量

public void F(){

num = 5; //正确允许访问自身成员

weight = 100; //正确允许访问自身成员

Vehicle v1 = new Vehicle();

v1.wheels = 4; //正确允许访问v1 的公有成员

//v1.weight = 6; 错误不允许访问v1 的保护成员可改为

weight = 6;

}

}

class Car:Vehicle //定义轿车类

{

int passengers; //私有成员乘客数

public void F(){

Vehicle v1 = new Vehicle();

V1.wheels = 4; //正确允许访问v1 的公有成员

V1.weight = 6; //正确允许访问v1 的保护成员

}

}

静态成员和非静态成员

若将类中的某个成员声明为static ,该成员称为静态成员。类中的成员要么是静态,要么是非静态的。一般说来静态成员是属于类所有的。非静态成员则属于类的实例——对象。

using System;

class Test

{

int x;

static int y;

void F() {

x = 1; // 正确,等价于this.x = 1

y = 1; // 正确,等价于Test.y = 1

}

static void G() {

x = 1; // 错误不能访问 this.x

y = 1; // 正确,等价于Test.y = 1

}

static void Main() {

Test t = new Test();

t.x = 1; // 正确

t.y = 1; // 错误不能在类的实例中访问静态成员

Test.x = 1; // 错误不能按类访问非静态成员

Test.y = 1; // 正确

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航