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