ATM 面前体会封装概念---.net 学习

来源:互联网 发布:淘宝哪家珠子是真货 编辑:程序博客网 时间:2024/04/30 01:05
那么,封装究竟是什么?
首先,我们考察一个常见的生活实例来进行说明,例如每当发工资的日子都来到ATM机前,用工资卡取钱买东西,想到了计算机的对象概念的封装:
— 和ATM机之间,以银行卡进行交互。要取钱,请交卡。
— 并不知道ATM机将钱放在什么地方,取款机如何计算钱款,又如何通过银行卡返回小王所要数目的钱。对我来说,ATM就是一个黑匣子,只能等着取钱;而对银行来说,ATM机就像银行自己的一份子,是安全、可靠、健壮的员工。
— 要想取到自己的钱,必须遵守ATM机的对外约定。他的任何违反约定的行为都被视为不轨,例如欲以砖头砸开取钱,用公交卡冒名取钱,盗卡取钱都将面临法律风险,所以只能安分守己地过着月光族的日子。
    对应上面的3条结论,得出几个计算机的结论:
— 以工资卡和ATM机交互信息,ATM机的入卡口就是ATM机提供的对外接口,砖头是塞不进去的,公交卡放进去也没有用。
—  ATM机在内部完成身份验证、余额查询、计算取款等各项服务,具体的操作对用户me是不可见的,对银行 来说这种封闭的操作带来了安全性和可靠性保障。
— 和ATM机之间遵守了银行规定、国家法律这样的协约。这些协约和法律,就挂在ATM机旁边的墙上.
             封装隐藏了类内部的具体实现细节,对外则提供统一访问接口,来操作内部数据成员。这样实现的好处是实现了UI分离,程序员不需要知道类内部的具体实现,只需按照接口协议进行控制即可。同时对类内部来说,封装保证了类内部成员的安全性和可靠性.ATM机可以看做封装了各种取款操作的类,取款、验证的操作对类ATM来说,都在内部完成。而ATM类还提供了与me交互的统一接口,并以文档形式——法律法规,规定了接口的规范与协定来保证服务的正常运行。以面向对象的语言来表达,
原创粉丝点击