浅聊封装之方法

方法

定义

方法(method)封装了类的行为,提供了类的对外表现。用于将封装的内部细节以公有方法提供对外接口,从而实现对外部的交互与响应。根据上一篇属性的介绍来分析,属性的读写就是通过方法来实现的。因此,方法通常实现为public。

说明

不是所有的方法实现都是public,在类内部的操作使用private,对外交互的实现使用public,这样既保证了对内部数据的隐藏和保护,又实现了类的对外交互。

namespace InsideDotNet.OOThink.Encapsulation
{
 /// <summary>
 /// ATM 类
 /// </summary>
 public class ATM
 {
     #region 定义私有方法,隐藏具体实现
     private Client GetUser(string userID) { }
     private bool IsValidUser(Client user) { }
     private int GetCash(int money) { }
     #endregion
     #region 定义公有方法,提供对外接口
     public void CashProcess(string userID, int money)
     {
         Client tmpUser = GetUser(userID);
         if (IsValidUser(tmpUser))
         {
             GetCash(money);
         }
         else
         {
             Console.Write("你不是合法用户,是不是想被发配南极?");
         }
     }
     #endregion
 }

}

ATM类中用户身份验证、钱的计算,关系到银行系统的安全和隐私性,是不对外实现的。而提供返回钱款这一个外对方法即可。如带那种显示,在封装原则中,有效的保护内部数据和有效的暴露外部行为一样关键。

封装的意义
— 隐藏系统实现的细节,保证系统的安全性和可靠性。
— 提供稳定不变的对外接口。因此,系统中相对稳定部分常被抽象为接口。
— 封装保证了代码模块化,提高了软件的复用和功能分离。
封装的规则
— 尽可能地调用类的访问器,而不是成员,即使在类的内部。
— 内部私有部分可以任意更改,但是一定要在保证外部接口稳定的前提下。
— 将对字段的读写控制实现为属性,而不是方法,否则舍近而求远,非明智之选。
— 类封装是由访问权限来保证的,对内实现为 private,对外实现为 public。
结论
封装就是一个包装,将包装的内外分为两个空间,
对内实现数据私有,对外实现方法调用,保证了数据的完整性和安全性。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值