freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計(jì)算機(jī)軟件及應(yīng)用]第8章第一部分類與對(duì)象(已修改)

2024-10-31 04:16 本頁(yè)面
 

【正文】 第八章 類與對(duì)象 80年代后期,在計(jì)算機(jī)軟件領(lǐng)域發(fā)生了許多變化,這些變化極大地影響著幾乎所有的程序設(shè)計(jì)者和系統(tǒng)分析員的工作。面向?qū)ο蟮某绦蛟O(shè)計(jì)方法 : (ObjectOriented Programming)就是其中之一。 OOP并不是一種程序設(shè)計(jì)語(yǔ)言,而是一種新概念 ——關(guān)于數(shù)據(jù)、過程和它們之間關(guān)系的一種新的思考方法。 OOP技術(shù)由五個(gè)最基本的概念組成:object, message, method, class, inheritance. 對(duì)象和類的概念 什么是對(duì)象 對(duì)象是世界中的物體在人腦中的映象,世界是由各種各樣具有自己的運(yùn)動(dòng)規(guī)律和內(nèi)部狀態(tài)的對(duì)象所組成的;不同對(duì)象之間的相互作用和聯(lián)系構(gòu)成了完整的現(xiàn)實(shí)世界。當(dāng)我們接觸某些新事物時(shí),我們的意識(shí)就會(huì)為這些事物確立一個(gè)對(duì)象。 對(duì)象是 OOP技術(shù)的核心。從理論上說是對(duì)客觀世界事物的表示和描述。從程序設(shè)計(jì)實(shí)際來看,就是數(shù)據(jù)以及對(duì)這些數(shù)據(jù)進(jìn)行操作的代碼或函數(shù)結(jié)合在一起所構(gòu)成的獨(dú)立實(shí)體。 也可以把對(duì)象看成是現(xiàn)實(shí)世界中各種各樣的實(shí)體。 對(duì)象可以大致分為兩類:有生命的對(duì)象和無生命的對(duì)象。他們都有一些共同之處,就是他們都有大小、形狀、質(zhì)量等屬性,還都有各種各樣的行為。人類就是運(yùn)用自己抽象思維的能力,通過了解對(duì)象的屬性、觀察對(duì)象的行為來認(rèn)識(shí)和研究各種對(duì)象。 因此,人們應(yīng)當(dāng)按照現(xiàn)實(shí)世界這個(gè)本來面貌來理解世界,直接通過對(duì)象及其相互關(guān)系來反映世界。這樣建立起來的系統(tǒng)才能符合現(xiàn)實(shí)世界的本來面目。 什么是類 類是對(duì)一組對(duì)象共同具有的屬性和行為進(jìn)行的抽象,即把同一類對(duì)象共同具有的屬性和行為封裝在一起,就形成了類。 換句話說,類是對(duì)一組具有相同性質(zhì)的對(duì)象的程序描述,它由概括了一組對(duì)象共同性質(zhì)的數(shù)據(jù)和函數(shù)組成。 面向?qū)ο蟪绦蛟O(shè)計(jì)( OOP)就是用軟件來模擬現(xiàn)實(shí)中的對(duì)象。它利用了類的關(guān)系,即同一類對(duì)象具有相同的特點(diǎn);還可以通過繼承的關(guān)系來創(chuàng)建新類,使得新類既具有現(xiàn)有類的特點(diǎn),又包含了它自身特有的屬性和行為。 類和對(duì)象是面向?qū)ο蠹夹g(shù)的核心 , 二者關(guān)系密切 。 類是對(duì)一組對(duì)象的抽象 ,而對(duì)象則是類的一個(gè)實(shí)例 。 在程序中 ,從語(yǔ)法上看 , 類和對(duì)象的關(guān)系相當(dāng)于數(shù)據(jù)類型和變量的關(guān)系 。 在傳統(tǒng)的 C中,允許用戶自己定義他所需要的數(shù)據(jù)類型。如結(jié)構(gòu)體類型struct, 它允許程序?qū)⑷舾煞N成分集中在一個(gè)命名的變量之中。結(jié)構(gòu)的各個(gè)成分成為成員,成員的名字各不相同。一個(gè)結(jié)構(gòu)的各個(gè)成員可以屬于不同的類型。 在 C語(yǔ)言中,定義一個(gè)新的數(shù)據(jù)類型并編寫專屬于這種類型的操作函數(shù)是常會(huì)碰到的工作。而 C++中的類即是將定義新的數(shù)據(jù)類型和建立專屬的操作函數(shù)結(jié)合在一起 ,作為單一結(jié)構(gòu)的類型定義, 即: 類 =數(shù)據(jù) +操作函數(shù) +(訪問和繼承原則) 類是結(jié)構(gòu)體類型的擴(kuò)充。結(jié)構(gòu)體中引入成員函數(shù)并規(guī)定了其訪問和繼承原則后便成了類。 可以說 , 面向?qū)ο笫且环N思考問題的方法 ,以對(duì)象為主體 ,當(dāng)然也可以說 ,面向東西 ,面向物體 (抽象的物體 ),面向事物 。 其實(shí)面向?qū)ο笫菫榱撕兔嫦蜻^程相對(duì)而言的 。當(dāng)面向?qū)ο蟮某绦蚋拍钸€沒有出來前 , 程序的設(shè)計(jì)都是在想怎樣才能一步一步的解決問題 ,所以思維方式是過程 ,或是說步驟 ,早期的 C語(yǔ)言 , FORTRAN等都是 ,匯編就更是了 。 使用面向?qū)ο蟮乃季S方法,其實(shí)是一個(gè)把問題從具體的編程技術(shù)當(dāng)中抽象出來的過程,而這個(gè)抽象的過程是自上而下的,非常符合人類的思維習(xí)慣,也就是先不考慮問題解決的細(xì)節(jié),把問題的最主要的方面抽象成為一個(gè)簡(jiǎn)單的框架,集中精力思考如何解決主要矛盾,然后在解決問題的過程中,再把問題的細(xì)節(jié)分割成一個(gè)一個(gè)小問題,再專門去解決細(xì)節(jié)問題。 所以說,面向?qū)ο蟮幕臼?,如何設(shè)計(jì)一個(gè)個(gè)能動(dòng)的物體 (OBJECT對(duì)象 ),它們有不同的功能 ,相互組合調(diào)用各個(gè)對(duì)象自己擅長(zhǎng)的功能 (METHOD,方法 ),最后完成一個(gè)大的目的。 (當(dāng)然步驟和過程 ,解決問題的先后順序等 ,還是存在的 ) 所有面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言一般都含有三個(gè)方面的語(yǔ)法機(jī)制,即對(duì)象和類(封裝性)、多態(tài)性、繼承性。 封裝性 把數(shù)據(jù)和函數(shù)包裝在一個(gè)單獨(dú)的單元(稱為類)的行為稱為封裝。數(shù)據(jù)不能被外界訪問,只能被封裝在同一個(gè)類中的函數(shù)訪問。這些函數(shù)提供了對(duì)象數(shù)據(jù)和程序之間的接口,避免數(shù)據(jù)被程序直接訪問。 在一個(gè)對(duì)象內(nèi)部,某些函數(shù)和(或)某些數(shù)據(jù)可以是私有的,不能被外界訪問。通過這種方式,對(duì)象對(duì)內(nèi)部數(shù)據(jù)提供了不同級(jí)別的保護(hù),以防止程序中無關(guān)的部分意外的改變或錯(cuò)誤的使用了對(duì)象的私有部分。 多態(tài)性 面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言支持“多態(tài)性”,把一個(gè)接口用于一類活動(dòng)。即“一個(gè)接口多種算法”。具體實(shí)施時(shí)該選擇哪一個(gè)算法是由特定的語(yǔ)法機(jī)制確定的。 C++在編譯時(shí)和運(yùn)行時(shí)都支持多態(tài)性。編譯時(shí)的多態(tài)性體現(xiàn)在重載函數(shù)和重載運(yùn)算符等方面。運(yùn)行時(shí)的多態(tài)性體現(xiàn)在繼承關(guān)系及虛函數(shù)等方面。 繼承性 C++程序中,由一個(gè)類(稱為基類)可以派生出新類(稱為派生類)。這種派生的語(yǔ)法機(jī)制使得新類的出現(xiàn)輕松自然,使得一個(gè)復(fù)雜事物可以被順理成章地歸結(jié)為由逐層派生的對(duì)象描述?!芭缮笔沟贸绦蛑卸x的類呈層次結(jié)構(gòu)。處于子層的對(duì)象既具有其父層對(duì)象的共性,又具有自身的特性。 繼承性是一個(gè)類對(duì)象獲得其基類對(duì)象特性的過程。 C++中嚴(yán)格地規(guī)定了派生類對(duì)其基類的繼承原則和訪問權(quán)限,使得程序中對(duì)數(shù)據(jù)和函數(shù)的訪問,需在家族和朋友間嚴(yán)格區(qū)分。 為什么要使用面向?qū)ο蟮乃伎挤椒ê透拍??是為了 提高開發(fā)效率 。因?yàn)槊嫦驅(qū)ο蟮脑O(shè)計(jì)中 ,都是在設(shè)計(jì)一個(gè)個(gè)的物件(OBJECT),共同的地方 ,可以重復(fù)利用(inheritance)。 面向過程的開發(fā) ,人要迎合機(jī)器的工作方式。面向?qū)ο?,人更多地去集中抽象現(xiàn)實(shí)中的問題 ,以人的思維方式為本位 ,減少了對(duì)機(jī)器物理構(gòu)造或工作方式的迎合。 面向?qū)ο蟮乃季S方法其實(shí)就是我們?cè)诂F(xiàn)實(shí)生活中習(xí)慣的思維方式,是從人類考慮問題的角度出發(fā),把人類解決問題的思維方式逐步翻譯成程序能夠理解的思維方式的過程 。 在搞軟件開發(fā)時(shí),編碼不是最重要的,分析、設(shè)計(jì)才是最重要的。 學(xué)習(xí)了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,你會(huì)發(fā)現(xiàn)在軟件設(shè)計(jì)和開發(fā)過程中,你自己總是會(huì)不知不覺的運(yùn)用面向?qū)ο蟮乃季S方法來設(shè)計(jì)和編寫程序,并且程序的設(shè)計(jì)和開發(fā)也變得不再那么枯燥,而一個(gè)合理運(yùn)用面向?qū)ο蠹夹g(shù)進(jìn)行設(shè)計(jì)和架構(gòu)的軟件,更是具備了思維的藝術(shù)美感。 類和對(duì)象的定義 類的定義 一般來說,類中包含數(shù)據(jù)成員和成員函數(shù),用以模擬具有屬性(數(shù)據(jù)成員)和行為(成員函數(shù))的對(duì)象。定義了一個(gè)類以后,就可以用這個(gè)類的名字來聲明該類的對(duì)象了。 與函數(shù)的定義類似,類定義也包含兩部分:類頭和類體。類頭由關(guān)鍵字class及其后面的類名構(gòu)成。類體則是由一對(duì)花括號(hào)把類的數(shù)據(jù)成員和成員函數(shù)括起來的部分。 class 類名 { private: 私有數(shù)據(jù)和函數(shù) public: 公有數(shù)據(jù)和函數(shù) }; 大括號(hào)后的分號(hào)“;”是類定義的結(jié)束標(biāo)志。類的成員分為數(shù)據(jù)和函數(shù),分別稱為成員數(shù)據(jù)和成員函數(shù)。成員數(shù)據(jù)描述類對(duì)象內(nèi)部數(shù)據(jù)的結(jié)構(gòu),成員函數(shù)則用于操作類對(duì)象的這些數(shù)據(jù)。 class Date { public: Date( )。 // 默認(rèn)構(gòu)造函數(shù) void setDate(int,int,int)。 // 設(shè)置年月日 void printChina( )。 //打印中國(guó)格式的日期 void printUsa( )。 //打印美國(guó)格式的日期 private: int year。 int month。 int day。 }。 其中,類頭部分為 class Date,由關(guān)鍵字 class和類名 Date組成。一般類名的首字母用大寫字母表示。 類體部分為花括號(hào)擴(kuò)起來的部分。在類體中聲明數(shù)據(jù)成員和成員函數(shù),并指定這些類成員的訪問級(jí)別。它們可以被聲明為 public(公有)的、 priva
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1