您的位置:首页 > 编程语言 > C#

C#中原始的封装问题的解决办法

2012-07-11 13:53 169 查看
封装属性

       自动使用get 标识符进行读

       自动使用set 标识符进行写

代码示例:

struct Time

{

    ...

    public int Hour //没有(),是H而不是h

    {  

        get { ... }

        set { ... }

    }

    private int hour, minute, second;

}

Time lunch = new Time();

...

lunch.Hour = 12;

...

Console.WriteLine(lunch.Hour);

C#提供了一个解决上述问题的好办法。你可以把get和set函数组合成一个简单的属性。属性的声明包括一个可选的访问修饰符(在例子中是public)、返回值(int)、属性的名字(Hour)和一个包含get和set语句的属性体。特别要注意的是属性没有括号,因为属性不是函数。属性的命名规则应符合一般的命名规则,即公有的使用PascalCase规则,而非公有的使用camelCase规则。在上面的例子中,Hour属性是公有的,所以命名为Hour而不是hour。

例子中演示了属性的用法。属性使用的语法和字段的一样,没有括号。如果你要写一个属性,那你可以这样写:

  lunch.Hour = 12;

属性的set语句自动被执行。

如果你要读一个属性,你可以这样写:

  int hour = lunch.Hour;

属性的get语句自动被执行。

敬请关注我的小站:http://www.taoche.com/buycar/serial/dibadaiyage/

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# struct
相关文章推荐