zoukankan      html  css  js  c++  java
  • 为什么不直接使用成员变量而使用属性呢?

    如果你现在是C#开发人员的话,你大概非常习惯编写象下面这个代码片段一样带有基本属性的类型:
    public class Person {

            
    private string _firstName;
            
    private string _lastName;
            
    private int _age;
            
            
    public string FirstName {

                
    get {
                    
    return _firstName;
                }
                
    set {
                    _firstName 
    = value;
                }
            }

            
    public string LastName {

                
    get {
                    
    return _lastName;
                }
                
    set {
                    _lastName 
    = value;
                }
            }        
            
            
    public int Age {

                
    get {
                    
    return _age;
                }
                
    set {
                    _age 
    = value;
                }
            }
        } 

    Scott Guthrie 在博客中这样诠释:
    这是因为,向外面呈现公开的成员变量有很多不好的地方。二个最大的问题是:
    1) 你无法轻易地对成员变量做数据绑定,
    2) 如果你从类中向外呈现成员变量的话,之后,你不重新编译那些引用老的类的任何程序集,就无法将它们改成属性(譬如,要添加验证逻辑到setter里)。
  • 相关阅读:
    求树中两个节点的最低公共祖先
    [2014校招笔试]判断单链表是否有环?
    二叉树的遍历
    求所有划分集合
    用rand5()生成rand(n)
    由等概率生成的0和1构建rand()函数
    等概率生成0和1
    求输出和为n的所有连续自然数序列
    求正整数n的所有因子
    css 2D转换总结
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/728011.html
Copyright © 2011-2022 走看看