準備使用IBM收購Rational以后的最新產品RSA 6.0,作為開發建模工具。
人寫程序與類在打交道,而在程序運行時,是對象在運行。
人寫的是類型,而動態的是對象,使機器在運行代碼。
OO是一種系統建模的技術,是一個過程!
對對象進行描述。
在這個過程中,要使用UML語言進行類型的描述。
========================================
比如模擬達內,可以說有很多老師對象和學生對象,但在達內,關注學生這個個體什么呢?只關心姓名,性別,背景,而絕對不關心它的婚姻情況。
可以對這些對象進行共性的提取,變為老師類型和學生類型。而運行時就是一個個有特性的實例。
========================================
什么是對象,就是一個屬性確定的實體。比如找對象,這個對象在你心中早就有特定的要求,那么這樣的一個對象肯定是有確定屬性的對象。是單個的,唯一的,識別的實體。
那么由于成員變量的值不同,方法調用的結果不同。
所以對象是構建系統的基石。
它包括:<1>標識也就是引用名
<2>數據
<3>方法
什么是Class,它是對對象的定義。對于在某一個環境下的對于對象關心屬性的提取和抽象。
====================================
面向對象編程的特點
1抽象,就是一個提煉過程
2封裝,隱藏細節(屬性和私有方法)
3繼承,上下層次
4多態
--------------------------------------------
5,關聯,對象的依賴程度
6,聚合
7,組合
8,內聚&耦合
1,抽象的目的,主要是隱藏細節,可以簡化信息,看到顯著特征。
2,封裝的目的,隱藏數據和行為,
注意,類有兩個視圖,對外視圖(別人使用此類,不關心實現)
內視圖(自己拿著代碼,要知道實現)
3,關聯
一個類型使用其他類型對象的服務。
4,聚合
一種強關聯,一個是另外一個的組成部分,而不是必要部分。
一個汽車和一個音響。
5,組合
一個對象包含另外一個對象
一個是另外一個組成部分
大的東西決定著組成部分的生命周期
6,繼承,是一種實現代碼復用的手段,語言的特性。另外一種代碼復用的方式就是組合。
減少代碼量,維護方便。
組件的開發
在開發過程中,要遵循高內聚,低耦合的規律。
組件內部要相互的調用,來統一對外實現一個功能,而外界為實現這個功能,基本不需要再做什么,那么這個組件的重用性,就愈高。依賴于別人的越少,那么組件的復用價值也就愈高。
多態
有統一的接口,而行為有它的子類型的行為確定。
運行時多態,就是子類型重寫了父類型virtual方法。
能使用編譯時多態就是用編譯時多態。
================
所以可以將上面的幾個特點按類別分類,比如,單個類型、類型之間、層次結構、編程規則。
posted on 2006-02-28 23:57
北國狼人的BloG 閱讀(554)
評論(1) 編輯 收藏 所屬分類:
達內學習總結