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

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ì)語言的基礎(chǔ)。一種程序設(shè)計(jì)范型體現(xiàn)了一類語言的主要特征,這些特征能用以支持應(yīng)用領(lǐng)域所希望的設(shè)計(jì)風(fēng)格。不同的程序設(shè)計(jì)范型有不同的程序設(shè)計(jì)技術(shù)和方法。

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

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

基于面向過程程序設(shè)計(jì)范型的語言稱為面向過程性語言,如C、Pascal、FORTRAN、Ada等都是典型的面向過程性語言。除面向過程程序設(shè)計(jì)范型外,還有許多其他程序設(shè)計(jì)范型。例如,函數(shù)式程序設(shè)計(jì)范型也是較為流行的程序設(shè)計(jì)范型,它的主要特征是:程序被看作“描述輸入與輸出之間關(guān)系”的數(shù)學(xué)函數(shù),LISP是支持這種范型的典型語言。此外,還有模塊程序設(shè)計(jì)范型(典型語言是Modula)、邏輯式程序設(shè)計(jì)范型(典型語言是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)是:第一,程序一般由類的定義和類的使用兩部分組成;第二,程序中的一切操作都是通過向?qū)ο蟀l(fā)送消息來實(shí)現(xiàn)的,對(duì)象接收到消息后,啟動(dòng)有關(guān)方法完成相應(yīng)的操作。一個(gè)程序中涉及的類,可以由程序設(shè)計(jì)者自己定義,也可以使用現(xiàn)成的類(包括類庫中為用戶提供的類和他人已構(gòu)建好的類)。盡量使用現(xiàn)成的類,是面向?qū)ο蟪绦蛟O(shè)計(jì)范型所倡導(dǎo)的程序設(shè)計(jì)風(fēng)格。

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

主站蜘蛛池模板: 万盛区| 花莲县| 浪卡子县| 石景山区| 思南县| 滁州市| 灵台县| 金溪县| 三原县| 乐业县| 蛟河市| 名山县| 镇赉县| 定南县| 黎平县| 安塞县| 虎林市| 三门峡市| 东乡族自治县| 中宁县| 哈尔滨市| 岳阳县| 民勤县| 手游| 九江县| 尖扎县| 吉安市| 霍邱县| 天门市| 康乐县| 阳泉市| 麟游县| 惠水县| 湖南省| 塔河县| 金塔县| 姜堰市| 景德镇市| 淮安市| 石柱| 来凤县|