属性常犯错误

private int _minHeight = default(int);
    
public int MinHeight
    {
        
set{
            _minHeight 
= value;
        }
        
get{
            
return _minHeight;
        }
    }

  1、  初学者可能觉得有点画蛇添足,不如直接命名为:

public   int  MinHeight;

    这样岂不简单,干吗还要用getter和setter封装起来,额外的函数调用也使效率有损。
    有时候在开发项目时,开始时我们要画的可能只是一条蛇,但是项目后期需求变了,改画一条龙了。所以在项 目初期画蛇的时候添上一对足还是很有远见的。
    getter与setter(属性存取器)可以像方法一样封装逻辑并且像变量一样使用,建议所有非静态只读和常量,定 义为private,然后给其添加相应属性存取器,用于赋值与读取。

2、在其它方法体内(包涵类外与类内),不建议直接读写变量。

    即使 它目前可以被直接读写,我们也要通过调用属性存取器也调用。这一点有点麻烦,但很重要,很高老手有时也会犯错误。如下所示:

     private   int  _minHeight  =   int .MinValue;
    
public   int  MinHeight//或者是 protected、internal,甚至是private
    {
        
set {
            _minHeight 
=  value;
             //即使这里目前没有其它处理逻辑
        }
        
get {
            
return  _minHeight;
        }
    }
    
    
public   void  Method1 ( int  minHeight)
    {
        
this .MinHeight  =  minHeight;//在这里不要使用 this._minHeight直接读写
         //
    }

    即使变量的访问是受保护的或者或者是私有的,也要使用属性存取器。
  3、  原则是:对于变量的读取,要用属性存取器封装,无论其访问修饰符如何,即使其属性存取器内除了存取目前 没有任何其它逻辑。

转载于:https://www.cnblogs.com/pg-love/archive/2011/07/22/2113624.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值