物件導向思想

2022-12-24 21:00:06 字數 1914 閱讀 1199

如何理解物件導向程式設計的思想

首先談論一下結構化程式設計的思想,它是一種很傳統的思想,之前在c語言的課程裡我們已經學習過。我認為結構化程式設計最重要的就是把乙個大的程式分成一些小的模組,並按照層次關係逐步去解決這些問題。它是從問題的總體目標開始,抽象低層的細節,先專心構造高層的結構,然後再一層一層地分解和細化。

這樣有很多優點,比如設計者更能把握主題,高屋建瓴,避免一開始就陷入複雜的細節中,使複雜的設計過程變得簡單明瞭,過程的結果也容易做到正確可靠。 但同時,它也有很大的缺陷,比如資料和處理資料的函式相分離,導致很難理解函式,還有用系統開發每個階段的成果來進行控制,因而不能適應事物變化的要求,系統的開發周期也很長。

正是為了讓軟體能更容易被人們理解,而且便於維護和修改,從而增加軟體的可靠性和維護性,物件導向的思想逐漸興起。物件導向程式設計就是以物件為基礎,以事件和訊息來驅動物件執行處理,它強調系統的結構應該直接與現實世界的結構相對應,應該圍繞現實世界中的物件來構造系統,而不是圍繞功能來構造系統。

所以也就產生了一些有關物件導向的要素和特點,下面談一下自己的理解。物件,不論是具體的還是抽象的,遍布於我們的周圍。它們組成了整個世界。

物件是人們要進行研究的任何事物,從最簡單的整數到複雜的飛機等均可看作物件,所以它不僅能表示具體的事物,還能表示抽象的規則、計畫或事件。 物件就是類的具體化,是類的例項,而類則是物件的抽象,是物件的模板。類具有操作,它是物件的行為的抽象,用操作名和實現該操作的方法來描述。

物件之間進行通訊的結構叫做訊息。它包括操作名的選擇和傳遞、操作訊息的變數。比如如果指定洗衣機類具有brandname、modelname、serialnumber和capacity等屬性,還有acceptclothes()、acceptdetergent()、turnon()和turnoff()等操作的話,那麼我們就定義了乙個washing machine 類。

簡單地講,抽象的意思就是過濾掉物件的一部分特性和操作直到只剩下所需要的屬性和操作,只留下事物的共性。封裝則隱藏了操作的細節,使用者只能見到物件的外特性,而內特性對使用者來說是隱蔽的。比如當我們看電視時,通常大部分人都不關心電視機後面罩子裡隱藏的複雜電子元器件,也不關心這些電子元器件如何操作來產生電視畫面。

電視機做了自己要做的事並且對我們隱藏了它的工作過程,這就是封裝。它有很多好處,封裝有助於減少某些不利因素的影響,減少了差錯和排錯的難度。繼承性是子類自動共享父類資料結構和方法的機制,這是類之間的一種關係。

洗衣機、電冰箱、微波爐、烤箱、洗碗機、收音機和電熨斗可看成類,它們都是另乙個更一般的類——家用電器(appliance)類的成員。在物件導向的世界中,我們可以說上述的每一種都是appliance類的子類。也可以這麼說,appliance類是這些類的父類。

多型指同一符號或名字在不同情況下表現為不同的語義現象有時不同的類具有相同名稱的操作。例如,可以開啟一扇門、開啟一扇窗、開啟一張報紙、開啟一件禮物、開啟銀行賬號、甚至開啟一段對話。每種情形都是執行乙個不同的操作。

在物件導向中,每個類都能夠自己「知道」如何執行自己的開啟操作。這就是多型。

在地質學上,物件導向的思想也有很多應用。一、可以用物件導向的思路對地質災害資訊進行提取,首先對影像進行分析,生成影像物件;然後構建特徵空間,對影響物件的各種特徵,包括光譜。形狀、紋理等特徵進行分析,實現地質災害資訊分類識別。

二、使用物件導向的思想和方法,可以建立物件數字地質圖模型,對地質圖上的乙個地質符號,可以理解為包括三個方面的含義:符號間的關係、被符號化的概念以及所表達的地質事件本身。基於此,地質圖可以被抽象為包括了三個方面的內容,即製圖物件、概念、事件。

此外,無論是概念還是事件,為了表達的清晰性和完整性,都不能缺少其描述資訊。這四者共同組成了數字地質圖模型(圖1)。每個類也可以派生出若干子類,如概念類可以派生出四個子類:

岩石類、地質界限類、礦產類、產狀類。

總之,物件導向的思想不僅在計算機上有很大的應用,對地質學的發展也很有益處,它提供了乙個不同的角度,希望以後我們在學習了物件導向的思想後也能把它用到工作中,做到學以致用。

物件導向程式設計OO思想

周立功教授數年之心血之作 程式設計與資料結構 以及 面向ametal框架與介面的程式設計 上 電子版已無償性分享到電子工程師與高校群體,書本內容公開後,在電子行業掀起一片學習熱潮。經周立功教授授權,本 特對 程式設計與資料結構 一書內容進行 願共勉之。第四章導讀 4.1oo思想 4.1.1 職責轉移...

物件導向程式設計

第1頁共2頁 9 編寫乙個控制台程式,要求 編寫乙個函式get scores 接受使用者輸入的語文 數學 物理 化學和英語5科成績,在main 中利用get scores 接受輸入,然後計算總成績與平均成績,main 與get scores 之間不得使用全域性變數通訊。10 編寫乙個控制台程式,使用...

物件導向的優點

oop的優點 oop具有許多優點,無論是對於程式設計者或者使用者來說都是如此。物件導向為軟體產品擴充套件和質量保證中的許多問題提供了解決辦法。這項技術能夠大大提高程式設計師的生產力,並可提高軟體的質量以及降低其維護費用。其主要的優點陳列於下 1 通過繼承,我們可以大幅減少多餘的 並擴充套件現有 的用...