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里)。
  • 相关阅读:
    Promise
    location(未完)
    Web Storage API : LocalStroage
    从vmware下载到Linux环境下jdk和maven的安装
    2015.8.1 bootstrap学习(个人每日学习的随笔,比较凌乱
    git报错 error: cannot stat ‘'web/js': Permission denied
    移动端的自适应
    Socket .net MVC 的配置 包括异常断开
    ExtJS ComboBox之 键入自动查询
    ExtJS ComboBox之 2级联动
  • 原文地址:https://www.cnblogs.com/Bruce_H21/p/728011.html
Copyright © 2011-2022 走看看