( ! ) Warning: include(): http:// wrapper is disabled in the server configuration by allow_url_include=0 in D:\www\up\CSharp\class02.php on line 20
Call Stack
#TimeMemoryFunctionLocation
10.0000356072{main}( )...\class02.php:0

( ! ) Warning: include(http://pub.houheaven.com/Nav02/Nav_deep2.htm): failed to open stream: no suitable wrapper could be found in D:\www\up\CSharp\class02.php on line 20
Call Stack
#TimeMemoryFunctionLocation
10.0000356072{main}( )...\class02.php:0

( ! ) Warning: include(): Failed opening 'http://pub.houheaven.com/Nav02/Nav_deep2.htm' for inclusion (include_path='.;C:\php\pear') in D:\www\up\CSharp\class02.php on line 20
Call Stack
#TimeMemoryFunctionLocation
10.0000356072{main}( )...\class02.php:0

① 属性的声明

属性:类的一种字段读取器(字段:类定义中的数据部分,用来存储对象状态的值或者属性的值)。

格式:访问修饰符 类型 属性名{ get { return 字段名; } set { 字段名 = value; } }

说明:get和set是属性访问器。

get完成对属性值的读取,return用于返回读取的值。

set完成对数据的设置,value是关键字,表示要写入的值。

属性名和属性要访问的字段名不能完全一样,通常采用属性名首字母大写的方式,来命名与其对应的属性。

属性访问器不是一定要具备的,属性可以分为三类:只读属性(只有get访问器),只写属性(只有set访问器),读写属性(get、set访问器)。

实例:打开

[ 源代码 ]

Class Example

{

private int height;

public int Height

{

get{ return height;}

set{ height=value;}

}

}

……

Example obj=new Example();

int h=5;

obj.Height=h;

Consloe.WriteLine(obj.Height);

② 访问类成员

访问修饰符:

访问修饰符 意义
public公有的访问不受限制,可以被任何其他类使用
private私有的只能被该类中的其他成员访问
protected保护的访问只限于含该成员的类及该类的派生类

C#类成员有字段、属性、方法和常量。

在类的内部,可以直接访问类的各类成员。

在类的外部,若成员是公有的,可以使用该类或者该类的对象名和点操作符以“对象名.成员名”的方式来访问。

在类的外部,若成员是公有静态的,只能采用“类名.成员名”的方式来访问。

③ 属性和字段

在类被实例化为一个对象时,类成员中的字段会被分配相应的内存空间,用来保存对象的数据,而属性成员不会被分配内存空间来保存数据。

为字段赋值,实际上就是把数据直接放到字段被分配的内存空间中去。

为属性赋值,会将值传递给属性的set访问器的value参数,然后执行set访问器中的代码,常常都是直接将value参数的值赋给某个私有字段。

读取字段的值,只是将为字段分配的内存空间中的值读取出来。

读取属性的值,会执行get访问器中的代码,常常都是读取某个私有字段的值,或者运算后的值。

显示框架
显示框架
显示框架
显示框架