zoukankan      html  css  js  c++  java
  • 面向对象之领悟

    面向对象之领悟

     

       “对象”以真实的事物(不是抽象概念或通俗比喻)为原型,通过封装与继承来解决事物规律(类)与真实应用(实例)中可能出现的差别,这就是把错综复杂的设命题变成整体打包的“封装”过程。由于这个过程必须要强调对事物过程的归纳与抽象,所以必然会提高设计“对象”的门槛,也正是因为“类对象”存在着这样的抽象过程,所以才有可能降低应用实例的实现难度,并能具备较大的适用范围。
        很多程序员对“对象”概念的理解大约是“雾里看花”的状态,似乎是能理解,但又不知道该怎样应用。只会使用系统提供的基本“对象”,却不会(或根本就不知道)设计或封装属于自己的“自定义对象”。仅仅会使用别人提供的工具干活,大约只是一个劳动者,并不能成为一个名副其实的“设计”者。
        客观地说“面向对象”的设计理念听起来容易做起来难。经常见到一些自认为“精通”面向对象理念的程序员却从来没有实现过“对象”的设计与封装,此间不乏带有一些啼笑皆非的意味。如果把面向对象的理念比作一个殿堂,很多徘徊在门口的人都自以为早已身居殿堂之中,其实这是一个误解。
        编程的意义并不在于通过“代码(或简单的应用系统对象)”来描述需求,更主要的是要通过符合“设计理念”的方式,将原始需求转变成能够体现“设计思想”的“对象(最贴近于事物自身特性的设计单元)”并通过这种代表着需求内涵的“对象”来完成“设计”。
        如果要判别是否真正理解了“面向对象”的开发理念,最简单、最直接的方式就是看他是否实现过“自定义对象”的封装,因为这是对面向对象理念的初衷与归宿。
    开发环境为我们提供了设计、封装、引用各种“对象”的技术手段,如何在这个舞台上抽象、构造、设计、使用属于我们自己的各种应用“对象”,才是真正展示我们驾驭“面向对象”能力的具体体现。
        不要以为“面向对象”的就是那么深奥、那么难以理解,其实它就像一层“窗户纸”,只要你轻轻地“捅”以下,一切问题就会迎刃而解。关键是是否意识到了这层“窗户纸”的存在,并要伸出手指即可。相反,如果没有意识到它的存在,或不愿意为此有所付出,那也只能是在殿堂的门口“雾里看花”了。
  • 相关阅读:
    本地Springboot项目打包成docker镜像并上传到云仓库的全流程
    vue 组件开发到发布到npm全流程
    Python创建文件
    Ngrinder脚本开发各细节锦集(groovy)
    Ngrinder多接口的混合场景压测比例设定方案
    Pycahrm出现推送失败的处理方案,出现Push failed: Failed with error: Authentication failed for 'https://gitee.com/fxcity/Temporary_Test.git/'
    接口测试提取csrf_token和session
    Postman提取html返回值
    HttpRunnerManager自动化测试安装部署(CentOS)
    【转载】centos下搭建RabbitMQ
  • 原文地址:https://www.cnblogs.com/broadview/p/1434451.html
Copyright © 2011-2022 走看看