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

    面向对象之领悟

     

       “对象”以真实的事物(不是抽象概念或通俗比喻)为原型,通过封装与继承来解决事物规律(类)与真实应用(实例)中可能出现的差别,这就是把错综复杂的设命题变成整体打包的“封装”过程。由于这个过程必须要强调对事物过程的归纳与抽象,所以必然会提高设计“对象”的门槛,也正是因为“类对象”存在着这样的抽象过程,所以才有可能降低应用实例的实现难度,并能具备较大的适用范围。
        很多程序员对“对象”概念的理解大约是“雾里看花”的状态,似乎是能理解,但又不知道该怎样应用。只会使用系统提供的基本“对象”,却不会(或根本就不知道)设计或封装属于自己的“自定义对象”。仅仅会使用别人提供的工具干活,大约只是一个劳动者,并不能成为一个名副其实的“设计”者。
        客观地说“面向对象”的设计理念听起来容易做起来难。经常见到一些自认为“精通”面向对象理念的程序员却从来没有实现过“对象”的设计与封装,此间不乏带有一些啼笑皆非的意味。如果把面向对象的理念比作一个殿堂,很多徘徊在门口的人都自以为早已身居殿堂之中,其实这是一个误解。
        编程的意义并不在于通过“代码(或简单的应用系统对象)”来描述需求,更主要的是要通过符合“设计理念”的方式,将原始需求转变成能够体现“设计思想”的“对象(最贴近于事物自身特性的设计单元)”并通过这种代表着需求内涵的“对象”来完成“设计”。
        如果要判别是否真正理解了“面向对象”的开发理念,最简单、最直接的方式就是看他是否实现过“自定义对象”的封装,因为这是对面向对象理念的初衷与归宿。
    开发环境为我们提供了设计、封装、引用各种“对象”的技术手段,如何在这个舞台上抽象、构造、设计、使用属于我们自己的各种应用“对象”,才是真正展示我们驾驭“面向对象”能力的具体体现。
        不要以为“面向对象”的就是那么深奥、那么难以理解,其实它就像一层“窗户纸”,只要你轻轻地“捅”以下,一切问题就会迎刃而解。关键是是否意识到了这层“窗户纸”的存在,并要伸出手指即可。相反,如果没有意识到它的存在,或不愿意为此有所付出,那也只能是在殿堂的门口“雾里看花”了。
  • 相关阅读:
    Mayan游戏 (codevs 1136)题解
    虫食算 (codevs 1064)题解
    靶形数独 (codevs 1174)题解
    黑白棋游戏 (codevs 2743)题解
    神经网络 (codevs 1088) 题解
    The Rotation Game (POJ 2286) 题解
    倒水问题 (codevs 1226) 题解
    银河英雄传说 (codevs 1540) 题解
    生日蛋糕 (codevs 1710) 题解
    第一章 1.11 高阶函数
  • 原文地址:https://www.cnblogs.com/broadview/p/1434451.html
Copyright © 2011-2022 走看看