返回第二百一十五章 三大特征(第1/2页)  武痴学霸首页

关灯 护眼     字体:

上一章 目录 下一页

    “那怎么理解面向对象编程的三大特征?”李庆丰又问道。

    “面向对象编程主要有三大特征:封装性c继承性和多态性。”章岩答道,“封装性比较好理解,就是把过程和数据包围起来,对数据的访问只能通过已定义的界面进行。也可以说是把能够实现某一特定功能的一组组代码打包,形成一个个可以完成某种特定操作的固定模块,这个做法就是封装。

    就像现在市场上的快食面c茶包c便捷菜等产品一样。快食面里面有面条c调味包c汤包c油包,茶包里面有泡袋c茶叶c绳子,便捷菜里面是烹制好的各色菜肴,这些产品的生产过程就类似面向对象编程的封装过程。

    而这些产品最大的特点就是,你需要的话拿来就能用。而无需每次都要自己从到市场购买原材料回来进行清洗c斩切c调味c烹饪。

    我们可以把一包这样的产品看做是一个对象。我们要调用这个对象,需要选择特定的方法。比食用如快食面,我们是用开水泡汤吃还是浸泡之后做成捞面或者炒面来吃,那就随各人喜欢了。

    在享用的时候我们还可以自己加入辣c香等调味料和青菜c瓜果c鲜肉等辅料,这些可以看成是变量。

    我们可以这样来概括,面向对象的程序设计最突出的特点是,它建立在对象和类的基础上,把要解决的问题所对应的现实世界中的事物抽象成对象或类,并建立对象之间的关系。

    每个对象或类不仅包含描述其特征的属性或数据结构,而且还包含对这些数据结构的操作。

    这些操作可能是以某种方式处理数据,或者是执行某个计算,或者是监督一个对象控制事件的发生。”

    “这比较容易理解。”黄华山点点头。

    “继承性也不复杂。”章岩继续说,“通俗地说,就是一种产品不管由什么材料加工而成,它除了具有自己的特点外,还会拥有从生产它所使用的各种原材料中继承下来的特点。

    比如说快食面,除了拥有自己的特点外,必然会拥有制作快食面所用的面条的特点,也会拥有生产面条所用的面粉的特点,可以说是继承了上辈乃至祖辈材料的主要特点,这就是继承性。

    在面向对象编程中,衍生类和基类存在继承关系,子类与祖先类也存在继承关系。”

    “这样的比喻通俗易懂。”贺俊明有一种豁然开朗的感觉。

    “至于多态性,就是不同类的对象对同一消息作出响应,或者说同一操作也可以说是方法作用于不同的对象时,可以有不同的解释,产生不同的执行结果。”章岩继续说,“比如,同样是加法运算,把两个时间加在一起和把两个整数加在一起,计算方法和结果肯定完全不同。

    又比如,同样进行复制和粘贴操作,在字处理程序和绘图程序中会有不同的效果。

    多态性使用虚方法和抽象方法来编程,更符合面向对象编程的思想,并且可以大幅提升代码的可读性和减少冗余的代码,能够用更少的代码实现相同的功能。

    多态性包括参数化多态性和包含多态性。多态性语言具有灵活c抽象c行为共享c代码共享等多种优势,很好的解决了应用程序函数同名问题。

    封装可以隐藏实现细节,使得代码模块化继承可以扩展已存在的代码模块类,它们的目的都是为了所谓的代码重用或代码共用。而多态则是为了接口重用或接口共用。”

    “接口重用?这里面的接口是什么?”贺俊明对接口这个概念并不陌生,但在对面向对象编程中接口认识上有些模糊,此刻趁机向章岩讨教。

    “接口泛指实体把自己提供给外界的一种抽象化物可以为另一实体,用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的

『加入书签,方便阅读』

上一章 目录 下一页