php面相對象普通類繼承抽象類的時候,繼承下來的方法的參數,和抽象類的方法的參數是不是必須一致?
必須一致
為什么說java是面向對象編程語言,面向對象和面向過程最大的區別是什么
java里面全是類,實是萬事萬物皆對象
過程開式是對計算機底層結構的,它明顯把程序的內容分為數據和操縱數據的操作兩部分 。這種編程方式的核心問題是數據結構和算法的開發和優化 。C 語言所提供的機制就是典型的結構化編程設施 。需要一步步去
面向對象就不同了,抽象數據類型方法雖然也有一定的抽象能力,但其核心仍然是數據結構和算法 。而面向對象方法直接把所有事物都當作獨立的對象,處理問題過程中所思考的不再主要是怎樣用數據結構來描述問題,而是直接考慮重現問題中各個對象之間的關系 。可以說,面向對象革命的最重要價值就在于改變了人們看待和處理問題的方式 。
什么是面向對象?為什么要用面向對象來編程?
對象分析屬于軟件開發過程中的問題定義階段,其目標是清晰、精確地定義問題領域 。傳統的系統分析產生一組面向過程的文檔,定義目標系統的功能;面向對象分析則產生一種描述系統功能和問題領域的基本特征的綜合文檔 。原則面向對象分析的主要原則如下 。1.抽象從許多事物中舍棄個別的、非本質的特征,抽取共同的、本質性的特征,就叫做抽象 。抽象是形成概念的必須手段 。抽象原則有兩方面的意義:第一,盡管問題域中的事物是很復雜的,但是分析員并不需要了解和描述它們的一切,只需要分析研究其中與系統目標有關的事物及其本質性特征 。第二,通過舍棄個體事物在細節上的差異,抽取其共同特征而得到一批事物的抽象概念 。抽象是面向對象方法中使用最為廣泛的原則 。抽象原則包括過程抽象和數據抽象兩個方面 。過程抽象是指,任何一個完成確定功能的操作序列,其使用者都可以把它看做一個單一的實體,盡管實際上它可能是由一系列更低級的操作完成的 。數據抽象是指根據施加于數據之上的操作來定義數據類型,并限定數據的值只能由這些操作來修改和觀察 。數據抽象是面向對象分析的核心原則 。它強調把數據(屬性)和操作(服務)結合為一個不可分的系統單位(即對象),對象的外部只需要知道它做什么,而不必知道它如何做 。2.封裝封裝就是把對象的屬性和服務結合為一個不可分的系統單位,并盡可能隱蔽對象的內部細節 。3.繼承特殊類的對象擁有的其一般類的全部屬性與服務,稱作特殊類對一般類的繼承 。在面向對象分析中運用繼承原則,就是在每個由一般類和特殊類形成的一般—特殊結構中,把一般類的對象實例和所有特殊類的對象實例都共同具有的屬性和服務,一次性地在一般類中進行顯式定義 。在特殊類中不再重復地定義一般類中已定義的東西,但是在語義上,特殊類卻自動地、隱含地擁有它的一般類(以及所有更上層的一般類)中定義的全部屬性和服務 。繼承原則的好處是:使系統模型比較簡練也比較清晰 。4.分類就是把具有相同屬性和服務的對象劃分為一類,用類作為這些對象的抽象描述 。分類原則實際上是抽象原則運用于對象描述時的一種表現形式 。5.聚合聚合的原則是:把一個復雜的事物看成若干比較簡單的事物的組裝體,從而簡化對復雜事物的描述 。6.關聯關聯是人類思考問題時經常運用的思想方法:通過一個事物聯想到另外的事物 。能使人發生聯想的原因是事物之間確實存在著某些聯系 。7.消息通信這一原則要求對象之間只能通過消息進行通信,而不允許在對象之外直接地存取對象內部的屬性 。通過消息進行通信是由于封裝原則而引起的 。在OOA中要求用消息連接表示出對象之間的動態聯系 。8.粒度控制一般來講,人在面對一個復雜的問題域時,不可能在同一時刻既能縱觀全局,又能洞察秋毫 。因此需要控制自己的視野:考慮全局時,注意其大的組成部分,暫時不詳察每一部分的具體的細節;考慮某部分的細節時則暫時撇開其余的部分 。這就是粒度控制原則 。9.行為分析現實世界中事物的行為是復雜的 。由大量的事物所構成的問題域中各種行為往往相互依賴、相互交織 。階段面向對象分析過程可分為問題領域分析和應用分析兩個階段 。問題領域分析是軟件開發的基本組成部分,目的是使開發人員了解問題領域的結構,建立大致的系統實現環境 。問題領域分析給出一組抽象概念(從高層來表示問題領域知識,常常超出當前應用的范圍)作為特定系統需求開發的參考 。問題領域分析實際上是一種學習過程 。軟件開發人員在這個階段應該盡可能地理解當前系統中與應用有關的知識,應該放開思維,放寬考慮的范圍,盡可能地標識與應用有關的概念 。問題領域分析的邊界可能很模糊 。有了廣泛的問題領域知識,涉及到具體的應用時,就可以更快地進入狀態,掌握應用的核心知識 。而且,在用戶改變對目標系統的需求時,廣泛的分析可以幫助我們預測出目標系統在哪些方面會發生哪些變化 。通常進行小組分析,小組成員可以包括領域專家和分析員等 。在分析過程中,應該標識出系統的基本概念(對象、類、方法、關系等)、識別問題領域的特征,并把這些概念集成到問題領域的模型中 。問題領域的模型必須包含概念之間的關系,以及每個概念的全部信息 。標識出來的相關概念應該根據信息內容來有機地融合到問題領域的綜合視圖中 。應用分析是依據在問題領域分析時建立起來的問題領域模型來進行的 。應用分析時,把問題領域模型用于當前特定的應用之中 。首先,通過收集到的用戶信息來對問題領域進行取舍,把用戶需求作為限制條件來使用,以縮減問題領域的信息量 。因此,問題領域分析的視野大小直接影響到應用分析保留的信息量 。一般來說,問題領域分析階段產生的模型并不需要用程序設計語言來表示,而應用分析階段產生的影響條件則需要用某種程序設計語言來表示 。模型識別的要求可以針對一個應用,也可以針對多個應用 。通常我們著重考慮兩個方面,即應用視圖和類視圖 。在類視圖中,必須對每個類的屬性和操作進行細化,并表示出類之間的相互作用關系 。目標Coad和Yourdon 認為,面向對象分析主要應該考慮與特定應用有關的對象,以及對象之間在結構和相互作用上的關系 。在面向對象分析中,需要建立分析模型來描述系統的功能 。面向對象分析需要完成如下兩個任務:— 形式化地說明所面對的應用問題,最終成為軟件系統基本構成的對象,以及系統所必須遵從的、由應用環境所決定的規則和約束條件 。— 明確地規定構成系統的對象如何協同工作和完成指定的功能 。通過面向對象分析所建立的系統模型是以概念為中心的,因此稱為概念模型 。概念模型由一組相關的類組成 。面向對象分析可以通過自頂向下地逐層分解來建立系統模型,也可以自底向上地從已經定義的類出發,逐步構造新的類 。概念模型的構造和評審由如下5個層次構成:— 類和對象層— 屬性層— 服務層— 結構層— 主題層這5個層次不是構成軟件系統的層次,而是分析過程中的層次 。也可以說是問題的不同側面 。每個層次的工作都為系統的規格說明增加了一個組成部分 。當5個層次的工作全部完成時,面向對象分析的任務也就完成了 。在實際操作中,面向對象分析的目標是得出問題領域的功能模型、對象模型和動態模型,并用相應的UML圖將它們表示出來 。步驟面向對象分析通常按照下面的步驟來進行:(1)標識對象和類 。可以從應用領域開始,逐步確定形成整個應用的基礎類和對象 。這一步需要分析領域中目標系統的責任,調查系統的環境,從而確定對系統有用的類和對象 。(2)標識結構 。典型的結構有兩種,即一般—特殊結構和整體—部分結構 。一般—特殊結構表示一般類是基類,特殊類是派生類 。比如,汽車是轎車和卡車的基類,這是一種一般—特殊結構 。整體部分結構表示聚合,由屬于不同類的成員聚合成為新的類 。比如,輪子、車體和汽車底盤都是汽車的一部分,這些不同功能的部件聚合成為汽車這個整體 。(3)標識屬性 。對象所保存的信息稱為它的屬性 。類的屬性描述狀態信息,在類的某個實例中,屬性的值表示該對象的狀態值 。需要找出每個對象在目標系統中所需要的屬性,并將屬性安排在適當的位置,找出實例連接,最后再進行檢查 。應該給出每個屬性的名字和描述,并指定該屬性所受的特殊限制(如只讀、屬性值限定在某個范圍之內等) 。(4)標識服務 。對象收到消息后執行的操作稱為對象提供的服務 。它描述了系統需要執行的處理和功能 。定義服務的目的是為了定義對象的行為和對象之間的通信 。其具體步驟包括:— 標識對象狀態— 標識必要的服務— 標識消息連接— 描述服務可以用類似于流圖的圖形來表示服務 。(5)標識主題 。為了更好地理解包含大量類和對象的概念模型,需要標識主題,即對模型進行劃分,給出模型的整體框架,劃分出層次結構 。可以按照如下步驟來標識主題 。— 識別主題— 對主題進行改進和細化— 將主題加入到分析模型主題是一個與應用相關的概念,而不是人為任意引出來的,主題層的工作有助于理解分析的結果 。優點面向對象分析的主要有點有:(1)加強了對問題域和系統責任的理解;(2)改進與分析有關的各類人員之間的交流;(3)對需求的變化具有較強的適應性;(4)支持軟件復用;(5)貫穿軟件生命周期全過程的一致性;(6)實用性;(7)有利于用戶參與 。.....
- 女人什么面相夫妻關系不和 面相真的與姻緣有關系嗎?
- 《怎樣在word文檔里面刪除相同的段落》 如何把文檔里面相同的電話刪了
- 看面相真的準嗎?他為什么這樣說 面相圖解
- 子女宮低陷是什么樣子!請懂得面相的朋友進來,幫忙解惑,女人右眼下子女宮處長斑會克子女,有這種說法嗎?如果有女性右眼下的斑
- 男人門牙有縫面相是什么意思 要怎么看,門牙面相代表父母婚姻解析
- 『圓臉短下巴的女人命運怎樣?』面相下巴短代表什么
- 正宗的桃花痣 | 什么面相的女人桃花不斷?
- “見面相親說什么話“家人安排我去相親,說是明天和人家女孩子見面認識一下,可我嘴笨,不知到時說什么話為好?我心里很緊張!
- 什么面相的男人才是最好的男人/能找到好老婆的面相
- 面相看桃花運怎么回復_看面相桃花運?9?3
