資源描述:
《Java面向?qū)ο缶幊蘰pt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、第4章Java面向?qū)ο缶幊?4.1面向?qū)ο缶幊谈攀龉矓?shù)據(jù)函數(shù)函數(shù)函數(shù)函數(shù)算法+數(shù)據(jù)結(jié)構數(shù)據(jù)方法方法數(shù)據(jù)方法方法過程式程序設計OOP程序設計對象+消息消息1、程序設計二種方法2面向?qū)ο笈c面向過程考慮對象—考慮過程:前者更有意義設計對象—設計過程:前者更富挑戰(zhàn)性,尤其是設計可重用的對象。面向?qū)ο蟮某绦蛟O計和問題求解力求符合人們?nèi)粘W匀坏乃季S習慣,降低分解問題的難度和復雜性,提高整個求解過程的可控制性、可監(jiān)測性和可維護性,從而達到以較小的代價和較高的效率獲得較滿意效果的目的。32、類與對象類(Class)是同種對象的
2、集合與抽象類是對象的抽象及描述,它是具有統(tǒng)一屬性和方法的多個對象的統(tǒng)一描述體,是用來定義一組對象共有屬性和方法的模板。類是用來創(chuàng)建對象實例的樣板,它包含所創(chuàng)建對象的狀態(tài)描述和方法的定義。類是一個型,而對象則是這個型的一個實例。類是靜態(tài)概念,而對象則是一個動態(tài)概念,因為只有在運行時才給對象分配空間,對象才真正存在。4對象是類的唯一性實例現(xiàn)實世界實體抽象數(shù)據(jù)類型計算機世界對象類抽象映射計算機邏輯的實現(xiàn)實例化抽象概念世界53、對象的屬性與方法面向?qū)ο蟪绦蛟O計中的對象是現(xiàn)實世界對象的模型化,它同樣具有狀態(tài)和行為。對象的狀
3、態(tài)用屬性來維護,對象的行為用方法來實現(xiàn)。因此可以簡單地講,對象是面向?qū)ο蟮某绦蛟O計模式,它由描述狀態(tài)的屬性(變量)和用來實現(xiàn)對象行為的方法(代碼)組成。幾種叫法屬性—靜態(tài)屬性—域—成員變量狀態(tài)方法—動態(tài)屬性—成員方法行為6現(xiàn)實中的對象類是對對象的一個抽象描述;對象是類的實例化。類(CLASS)為“manclass”將對象進行抽象為類將類進行實例化屬性:name//名字sex//性別age//年齡homeplace//家庭住址company//公司obligation//部門方法:eatfood()//吃飯slee
4、p()//睡覺study()//學習work()//工作潘永74、對象與類—幾種相互關系包含關系當對象A是對象B的屬性時,我們稱對象B包含對象A。關聯(lián)關系當對象A的引用是對象B的屬性時,我們稱對象A和對象B之間是關聯(lián)關系。類之間的繼承關系B類繼承了A類,就是繼承了A類的非私有的屬性和方法。A類稱之為父類,B類稱之為子類。85、面向?qū)ο缶幊痰奶攸c封裝性:類是封裝的基本單元。面向?qū)ο缶幊讨校褂脤傩院头椒ū憩F(xiàn)類的特征和行為。通過封裝,可以屏蔽程序的實現(xiàn)細節(jié),同時使軟件錯誤局部化,便于程序維護繼承性:類和類之間可以存在
5、繼承關系。繼承提高了程序代碼的復用性,也便于進行功能擴充。多態(tài)性:程序設計中,類的多態(tài)性表現(xiàn)為“同名方法,不同實現(xiàn)”。即相同的行為,由于執(zhí)行該行為的對象不同而具有不同的實現(xiàn)過程和結(jié)果。6、面向?qū)ο蠹夹g-人人受益項目經(jīng)理更迅速和更經(jīng)濟地開發(fā)和維護軟件系統(tǒng)。系統(tǒng)架構師模塊化的過程將變的簡單,并能獲得一個清晰的、易于管理的設計方案。程序員清晰的對象模型,豐富的面向?qū)ο箝_發(fā)工具及類庫使得編程變?yōu)橐患堄信d趣的工作。程序員明顯感到編程效率的提高。104.2類類(Class)是同種對象的集合與抽象類是對象的抽象及描述,它是具
6、有統(tǒng)一屬性和方法的多個對象的統(tǒng)一描述體,是用來定義一組對象共有屬性和方法的模板。類是用來創(chuàng)建對象實例的樣板,它包含所創(chuàng)建對象的狀態(tài)描述和方法的定義。類是一個型,而對象則是這個型的一個實例。類是靜態(tài)概念,而對象則是一個動態(tài)概念,因為只有在運行時才給對象分配空間,對象才真正存在。114.2.1類的定義創(chuàng)建一個電視機類:屬性:尺寸,型號,生產(chǎn)廠家……classTv方法:打開,關閉,欣賞節(jié)目……classTv{intsize,style,factory;voidopen();voidclose();voidenjoy()
7、;}創(chuàng)建Tv類對象mytv:Tvmytv=newTv();引用mytv對象的open()方法:mytv.open();124.2.1類的定義1、Java中類的定義格式:[類修飾符]class類名[extends父類名][implements接口名]{成員變量定義;方法定義;}類體132、說明類修飾符(Modifier):public:允許其他類(沒有限制)訪問本類,一個源文件僅可以有一個public類缺省:可被當前包中的其他類訪問abstract:沒有實例的抽象概念類,是它的所有子類的公共屬性和公共方法的集合fi
8、nal:不能再被擴展,不能有子類的類;易于安全性的實現(xiàn),或用于創(chuàng)建固定功能的類父類繼承聲明:extends父類名實現(xiàn)接口(interface):implements接口名143、舉例publicabstractclassshape{……}classrectangleextendsshape{……}finalclassroundrectextendsrectangle{……