官术网_书友最值得收藏!

1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述

1.1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)的定義

面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-Oriented Programming,OOP)是一種新的程序設(shè)計(jì)范型。程序設(shè)計(jì)范型是指設(shè)計(jì)程序的規(guī)范、模型和風(fēng)格,它是一類程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)。一種程序設(shè)計(jì)范型體現(xiàn)了一類語(yǔ)言的主要特征,這些特征能用以支持應(yīng)用領(lǐng)域所希望的設(shè)計(jì)風(fēng)格。不同的程序設(shè)計(jì)范型有不同的程序設(shè)計(jì)技術(shù)和方法。

面向過(guò)程程序設(shè)計(jì)范型是使用較廣泛的程序設(shè)計(jì)范型,這種范型的主要特征是:程序由過(guò)程定義和過(guò)程調(diào)用組成(簡(jiǎn)單地說(shuō),過(guò)程就是程序執(zhí)行某項(xiàng)操作的一段代碼,函數(shù)是最常用的過(guò)程)。從這個(gè)意義出發(fā),基于面向過(guò)程的程序可以用下面的公式來(lái)表述:

程序=過(guò)程+調(diào)用

基于面向過(guò)程程序設(shè)計(jì)范型的語(yǔ)言稱為面向過(guò)程性語(yǔ)言,如C、Pascal、FORTRAN、Ada等都是典型的面向過(guò)程性語(yǔ)言。除面向過(guò)程程序設(shè)計(jì)范型外,還有許多其他程序設(shè)計(jì)范型。例如,函數(shù)式程序設(shè)計(jì)范型也是較為流行的程序設(shè)計(jì)范型,它的主要特征是:程序被看作“描述輸入與輸出之間關(guān)系”的數(shù)學(xué)函數(shù),LISP是支持這種范型的典型語(yǔ)言。此外,還有模塊程序設(shè)計(jì)范型(典型語(yǔ)言是Modula)、邏輯式程序設(shè)計(jì)范型(典型語(yǔ)言是PROLOG)、進(jìn)程式程序設(shè)計(jì)范型、類型系統(tǒng)程序設(shè)計(jì)范型、事件程序設(shè)計(jì)范型、數(shù)據(jù)流程序設(shè)計(jì)范型等。

面向?qū)ο蟪绦蛟O(shè)計(jì)是一種新的程序設(shè)計(jì)范型。這種范型的主要特征是:

程序=對(duì)象+消息

面向?qū)ο蟪绦虻幕驹厥菍?duì)象,面向?qū)ο蟪绦虻闹饕Y(jié)構(gòu)特點(diǎn)是:第一,程序一般由類的定義和類的使用兩部分組成;第二,程序中的一切操作都是通過(guò)向?qū)ο蟀l(fā)送消息來(lái)實(shí)現(xiàn)的,對(duì)象接收到消息后,啟動(dòng)有關(guān)方法完成相應(yīng)的操作。一個(gè)程序中涉及的類,可以由程序設(shè)計(jì)者自己定義,也可以使用現(xiàn)成的類(包括類庫(kù)中為用戶提供的類和他人已構(gòu)建好的類)。盡量使用現(xiàn)成的類,是面向?qū)ο蟪绦蛟O(shè)計(jì)范型所倡導(dǎo)的程序設(shè)計(jì)風(fēng)格。

需要說(shuō)明的是:某一種程序設(shè)計(jì)語(yǔ)言不一定與一種程序設(shè)計(jì)范型相對(duì)應(yīng)。實(shí)際上存在具備兩種或多種范型特征的程序設(shè)計(jì)語(yǔ)言,即混合型語(yǔ)言。例如,C++就不是純粹的面向?qū)ο蟪绦蛟O(shè)計(jì)范型的語(yǔ)言,而是具有面向過(guò)程程序設(shè)計(jì)范型和面向?qū)ο蟪绦蛟O(shè)計(jì)范型的混合型程序設(shè)計(jì)語(yǔ)言。

主站蜘蛛池模板: 丹江口市| 嘉定区| 敦化市| 察隅县| 临江市| 逊克县| 大化| 白水县| 贵州省| 澄迈县| 和林格尔县| 百色市| 抚顺县| 宁城县| 长阳| 汕尾市| 新疆| 乐都县| 平舆县| 扎赉特旗| 乌拉特前旗| 凉山| 江永县| 济阳县| 普洱| 大理市| 北京市| 义马市| 定边县| 金坛市| 从江县| 台中市| 竹山县| 丹凤县| 肃南| 绥芬河市| 湖南省| 武宁县| 唐河县| 潍坊市| 台东市|