( ! ) 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 | ||||
# | Time | Memory | Function | Location |
1 | 0.0000 | 357352 | {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 | ||||
# | Time | Memory | Function | Location |
1 | 0.0000 | 357352 | {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 | ||||
# | Time | Memory | Function | Location |
1 | 0.0000 | 357352 | {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访问器中的代码,常常都是读取某个私有字段的值,或者运算后的值。
[ 后天堂 | 这里,只泊同流人 ]