• 面试题-谈谈封装和抽象的区别(转)


      有一句名言:“软件领域的任何问题,都可以通过增加一个间接的中间层来解决”。分层架构的核心其实就是抽象的分层,每一层的抽象只需要而且只能关注本层相关的信息,从而简化整个系统的设计。

      设计与分析的过程就是不停的进行抽象和封装,并且确定各个系统实体的细节。

      抽象是指将业务抽象为软件领域的元素(系统、模块或类);封装则是指定义元素的边界,隐藏实现,开放接口。

      抽象,是指从众多的事物中抽取出具有共同的、本质性的特征作为一个整体。是共同特质的集合形式。

      封装,是将通过抽象所得到的数据信息和操作进行结合,使其形成一个有机的整体。对内执行操作,对外隐藏细节和数据信息。

      两者的区别在于抽象是一种思维方式,而封装则是一种基于抽象的操作方法。我们通过抽象所得到数据信息及其功能,以封装的技术将其重新聚合,形成一个新的聚合体,也就是两者是合作者的关系。如果没有抽象,封装就无从谈起;如果没有封装,抽象也将没有意义。

    Reference


      读后有收获,小礼物走一走,请作者喝咖啡。

    赞赏支持

  • 相关阅读:
    js数组操作
    docker操作命令
    swoole使用案例
    swoole实现视频弹幕效果
    swoole的UDP服务
    swoole的TCP服务
    安装回环网卡&安装Linux前准备
    Linux之安装Linux详细步骤
    Spring Boot的面试题
    Shell 脚本面试问题大全
  • 原文地址:https://www.cnblogs.com/east7/p/14454104.html
Copyright © 2020-2023  润新知