新員工培訓-面向對象基本概念_第1頁
新員工培訓-面向對象基本概念_第2頁
新員工培訓-面向對象基本概念_第3頁
新員工培訓-面向對象基本概念_第4頁
新員工培訓-面向對象基本概念_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

面向對象根本概念總體設計部石宏峰2004.02.面向對象概述.開篇語 復雜性是軟件系統本質的一部分。沒有什么籠統處置可以消除軟件系統的復雜性,然而,可以生成一種機制來管理這些復雜性。并且,有些困難不是“偶爾的〞,是軟件建造的方法所引起的。改動建造軟件的方式將改善這些所謂“偶爾的〞困難。.呵斥軟件復雜性的主因軟件開發任務的現狀:軟件越來越龐大,各軟件組件之間的互聯很復雜軟件開發由個人的發明性活動轉變為有組織的團隊活動,交流協調任務加劇傳統的構造化分析設計和模塊化編程導致系統低內聚、高耦合,使系統不靈敏也不易維護呵斥軟件的復雜性的真正緣由:軟件的大小不能決議軟件復雜程度高度耦合、低內聚才是呵斥軟件復雜性的主要緣由.面向對象(Object-Orientation)面向對象的概念最初是在上個世紀60年代后期由運用SIMULA言語的研討人員提出真正的面向對象程序設計是在Smalltalk言語中實現的,“面向對象〞這個詞也是Smalltalk首先提出的面向對象方法學以為:客觀世界由各種“對象〞所組成,任何事物都是對象每一個對象都有本人的運動規律和內部形狀不同對象的組合及相互作用就構成了我們要研討、分析和構造的客觀系統.OO方法與構造化方法差別(1)構造化方法:將一個系統化分為兩部分:數據〔運用數據模型建模〕和功能〔運用過程模型建模〕。導致數據與設計模型和系統實現〔即程序〕中的行為分別。OO方法:將系統定義為一組正在交互的對象。對象可以完成一些事情〔功能〕,也知道一些事情〔數據〕。.OO方法與構造化方法差別(2).面向對象的軟件系統構造.面向對象方法很多程序員將面向對象編程〔OOP〕技術和面向對象〔OO〕技術混淆面向對象不僅是一種技術,面向對象技術是一門博大精深的學問,它是一種方法論或者說是一種世界觀人們對面向對象方法的研討與運用,不再局限于編程階段,而是從系統分析和系統設計階段就開場采用面向對象方法面向對象方法曾經開展成一種完好的方法論和系統化的思想體系面向對象不僅適用于軟件設計開發,也適用于處理硬件、組織構造、商業模型等多種領域的問題.“練器〞與“練氣〞會運用面向對象的編程工具并不等于就掌握了面向對象的思想和方法程序設計言語僅僅提供一個方法學的表示,而真正的方法是從生活、任務、學習等中提升而來的,這個也真是程序設計言語所做不到的有人即使選擇了面向對象的利器,也無法成為真正的高手。由于他看重的是“器〞的好壞,忽略的是“氣〞的修煉掌握面向對象的思想好像獲得練氣的真理,它的重要性往往勝過了對編程言語的選擇練器雖易,但難成高手。練氣雖好,但見效緩慢。內外兼修,終成正果.面向對象根本概念.總述對象類實例類的根本關系〔承繼、關聯、聚合〕接口封裝多態性.對象〔Object〕對象指的是一個獨立的、異步的、并發的實體,它能“了解一些事情〞〔即存儲數據〕、“做一些任務〞〔即提供效力〕,并“與其它對象協同〞〔經過交換音訊〕對象是對問題域中某個實體(任何有明確邊境和意義的東西包括詳細的物理實體和人為的概念〕的籠統軟件系統中的對象對象是一個接納和發送音訊的黑盒子對象包含編碼〔CODE〕和數據〔DATA〕CODE是一段有序的計算機指令,決議對象的行為DATA是指令要操作的信息,即對象的內容CODE與DATA在對象內部是分別的對象是數據構造及其上的操作的封裝體.類〔Class〕類似對象〔具有一樣屬性和行為〕的一種分類是一張制造對象的藍圖,對象經過類來定義。類名屬性方法屬性〔Attribute〕:類知道的事情;一些數據或信息〔內容〕方法(Method):類完成的事情;一個操作或成員函數〔行為〕,有參數和前往值.實例(Instance)實例:按照類“樣板〞建立的詳細對象,就是實例。實例是一個詳細的對象〔“對象〞這個術語有泛指的含義)實例化:創建對象的過程.類、實例與對象的聯絡與區別類是一個模板、藍圖實例和對象都是根據類模板發明出來的實例指的是一個詳細的實例對象是泛指實例,并不指出是哪個詳細的實例.類關系——承繼(1)〔inheritance〕承繼:表示兩個類之間是“isa〞、“islike〞或“iskindof〞的關系子類〔subclass〕:假設類B承繼自類A,B就是A的子類父類〔superclass〕:假設類B承繼自類A,A就是B的父類類A類B屬性承繼、方法承繼.類關系——承繼(2)單承繼(singleinheritance):一個類僅從另外一個類中承繼多重承繼(multipleinheritance):一個類從另外的一個以上的類中承繼覆蓋(override):在子類中重新定義屬性和方法籠統類(abstractclass):不能實例化的類.類關系——關聯(1)

(association)類A類B基數A基數B標簽關聯:一個類知道(knows)另一個類:表示兩端銜接的類存在關聯關系:表示關聯的方向基數:表示兩端關聯的對象數(0..1,1,0..*,1..*,n,0..n,1..n)標簽:對關聯的描畫,普通闡明關聯發生的前提。〔可選〕.類關系——關聯(2)雙向關聯:兩個類相互知道類A基數A基數B標簽類B遞歸關聯:一個類中的對象之間存在關聯關系類A基數A基數B標簽多關聯:兩個類之間存在關多種聯關系類A基數A基數B標簽1類B基數a基數b標簽2.類關系——聚合

(aggregation)聚合:是一種特殊的關聯。表示兩個類之間是ispartof的關聯。類A類B基數組合〔composition〕:是一種強聚合。表示“整體〞與各“組成部分〞共存。類A類B基數.接口(1)

(interface)接口好比一種模板,這種模板定義了對象必需實現的方法,其目的就是讓這些方法可以作為接口實例被援用。接口不能被實例化一個對象僅能經過其接口才會被其它對象所了解類可以實現多個接口并且經過這些實現的接口被索引接口是一個對象在對其它的對象進展調用時所知道的方法集合對象的接口描畫了對象可以完成的任務接口是實現插件化〔pluggability〕的關鍵.接口(2)Method1M2M3M4…Method1M2M3M4…DataLogicInterfaceClass接口是對類的輪廓的籠統接口不變類被運用方式不變將實現拋開〔在沒有詳細實現的情況下,就確定如何運用類〕,留下擴展空間.封裝和信息隱藏

(encapsulation&informationhiding)封裝將操作和數據變量同放于一個類〔或對象〕中,并使對數據的訪問只可經過該類〔或對象〕本身的操作來進展,外部不能直接作用于該類〔或對象〕的數據,類〔或對象〕的通訊只能經過明確的音訊來進展封裝是把類或對象的邊框涂黑的做法。目的是為了做信息隱藏信息隱藏:將對象私有信息隱藏,使之不能被外部類直接援用。隱藏對象知道什么和能做什么的實現方法,即隱藏對象是如何任務的目的就是限制外部對屬性和內部方法的訪問。面向對象編程的一條根本原那么對象的運用者永遠不需求去看對象〔黑盒子〕的內部.多態性

(polymorphism)一個對象可以有多種方式,其他的對象可以與這個對象相互作用而不用知道它具有確實切方式Figrue:籠統類“圖形〞draw():畫圖方法Circle、Square、Retangle承繼Figrue,并重置〔或實現〕draw()方法。Figure.draw()的輸出?.面向對象方法總結區別于傳統的構造化方法。傳統的軟件觀念:自動的運用程序操作被動的數據構造;OO的軟件觀念:相互影響的對象集合將現實世界中的實體看成是一個個對象,分析對象之間存在著的聯絡;把這些映射到系統模型中,建立一個基于相互作用的對象的系統模型運用面向對象技術開發出來的軟件構造是建立在現實世界的實體或對象的根底上的,它把軟件的功能分散到各個對象中間建立在客觀系統的事物和籠統概念根底上的對象實現了從問題域到解題域直接映射。使得分析設計過程更加直觀自然分布式處置:每個對象將功能和形狀封裝于本身的內部構造中,同時對象的任務也是自治的,不受時間、地點影響,因此使系統在運算處置上具有分布性高度的重用性:對象、方法等可反復利用功能的共享性:經過對象的承繼機制使系統的處置才干得到充分發揚.面向對象方法的意義面向對象的方法在技術和管理兩個層面均提供了決議軟件質量的諸多要素,包括可復用性、可靠性、強壯性、可擴展性、分布性和可存儲性等面向對象直接導致軟件系統的強內聚和松耦合,使軟件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論