C#:study(4)--属性

@属性
属性的格式通常如下:
type name
{
get {...}
set {...}
}
理解属性不定义存放位置这一点很重要。所以,属性控制对域的访问,而它本身并不提供这个域。域必须被定义为独立于属性之外。属性也可以定义为只读或只写形的。

 1using System;
 2class SimpProp
 3{
 4int prop;//由myprop控制的域
 5public SimpProp()
 6{
 7prop = 0
 8}

 9public int myprop//myprop属性
10{
11get
12{
13return prop;
14}

15set
16{
17if(value >= 0) prop = value;
18}

19}

20}

21
22class PropertyDemo
23{
24public static void Main()
25{
26SimProp ob = new SimProp();
27Console.WriteLine("Original value of ob.myprop: " + ob.myprop);
28ob.myprop = 100;
29Console.WriteLine("Value of ob.myprop: " + ob.myprop);
30}

31}

@通过属性访问基类的私有变量
 1using System;
 2//二维对象类
 3class TwoDShape
 4{
 5double pri_width;
 6double pri_height;
 7public double width
 8{
 9get {return pri_width;}
10set {pri_width = value;}
11}

12public double height
13{
14get {return pri_height;}
15set {pri_height = value;}
16}

17public void showDim()
18{
19Console.WriteLine("Width and height are " +width + " and " + height);
20}

21}

22//TwoDShape的派生类,表示三角形
23class Triangle : TwoDShape
24{
25public string style;
26public double area()
27{
28return wedth + height / 2;//通过属性访问
29}

30public void showStyle()
31{
32Console.WriteLine("Triangle is " + style);
33}

34}
posted @ 2005-08-19 09:23  zhh007's Bolg  阅读(178)  评论(0)    收藏  举报