Rob*_*sso 10 language-agnostic oop encapsulation abstraction information-hiding
" 抽象和封装是互补的概念:抽象关注于对象的可观察行为......封装集中于产生这种行为的实现......封装通常是通过信息隐藏来实现的,这是隐藏所有内容的过程.物体的秘密对其基本特征没有贡献." - 面向对象分析与设计的Grady Booch
您能否通过信息隐藏向我展示一些有说服力的封装优势的例子?
Mar*_*usQ 10
*nix将字符流(磁盘文件,管道,套接字,ttys等)抽象为单个实体("一切都是文件")模型,允许将各种工具应用于各种数据源/沉没的方式在没有封装的情况下是不可能的.
同样,各种语言的流的概念,抽象列表,数组,文件等.
此外,类似的数字概念(抽象超过整数,半打各种彩车,有理数等),想象这会是怎样一场噩梦,如果更高级别的代码被赋予了尾数格式等,并留给自己照顾自己.