資源描述:
《第3章 Java面向?qū)ο缶幊蘰pt課件.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第三章Java面向?qū)ο缶幊?本章重點(diǎn)傳統(tǒng)編程模式面向?qū)ο缶幊谭椒∣OP的基本概念和特點(diǎn)Java中的OOP理解Java中的各種修飾符超類和子類構(gòu)造函數(shù)和重載的構(gòu)造函數(shù)23.1傳統(tǒng)編程模式面向過程COBOLFORTRANC…主程序函數(shù)3函數(shù)2函數(shù)1函數(shù)433.2面向?qū)ο蟮木幊谭椒▽ο驛數(shù)據(jù)函數(shù)數(shù)據(jù)函數(shù)數(shù)據(jù)函數(shù)對象B43.3面向?qū)ο缶幊痰奶攸c(diǎn)更強(qiáng)調(diào)數(shù)據(jù)而不是過程程序被劃分為若干個對象數(shù)據(jù)結(jié)構(gòu)體現(xiàn)對象的特點(diǎn)函數(shù)和數(shù)據(jù)結(jié)構(gòu)聯(lián)系緊密數(shù)據(jù)是隱藏的,外部函數(shù)無法訪問數(shù)據(jù)對象之間通過函數(shù)聯(lián)系起來需要時可以很方便地添加新的數(shù)據(jù)和函數(shù)遵循自上而下的程序設(shè)計方法53.4OOP
2、的基本概念類對象數(shù)據(jù)抽象數(shù)據(jù)封裝繼承多態(tài)6類類是某種類型的所有對象定義共同變量和方法的模板.注意類是用戶定義的數(shù)據(jù)類型,它包括一個對象的所有數(shù)據(jù)和代碼.3.4OOP的基本概念73.4OOP的基本概念對象everythingisanobject現(xiàn)實世界的對象:桌子、書、自行車、電視、狗、文件、表格、按鈕、窗口對象的組成數(shù)據(jù)操作數(shù)據(jù)的代碼類和對象的關(guān)系類是對象的模板(template)/抽象一個對象是類的一個實例(instance)對象類實例化抽象83.4OOP的基本概念類是一個定義一個對象的屬性和行為并且在設(shè)計的時候產(chǎn)生的模板或藍(lán)圖一個對象是一個關(guān)于類的
3、運(yùn)行實例,它占用內(nèi)存并且擁有一定的生命周期1232451224593.4OOP的基本概念數(shù)據(jù)抽象抽象是從大量的背景細(xì)節(jié)和詳細(xì)解釋中提取共同的實質(zhì)性要素的過程.數(shù)據(jù)抽象過程抽象103.4OOP的基本概念數(shù)據(jù)封裝對象本身的數(shù)據(jù)得到保護(hù)/隱藏其他對象僅僅需要知道對該對象的訪問方法(接口/interface)即可封裝的好處模塊化--每個對象的源文件可以是相互獨(dú)立的,可以被不同的程序調(diào)用,每個對象是一塊積木,可以搭建不同的形狀信息隱藏--通常定義一個公共接口/方法實現(xiàn)對對象的訪問,可以調(diào)整對象的私有信息和方法,而不會對其他調(diào)用它的對象產(chǎn)生影響113.5在Java
4、中創(chuàng)建類和對象創(chuàng)建類類是用來創(chuàng)建對象的藍(lán)圖或原型.類的構(gòu)建類的聲明類的主體123.5在Java中創(chuàng)建類和對象類的聲明[類修飾符]class類名[extends父類名][implements接口名]常見的類修飾符public:Declaresthattheclasscanbeusedbyanyclassregardlessofitspackage(無任何限制)abstract:Declaresthattheclasscannotbeinstantiated(聲明該類不能被實例化,抽象類,出現(xiàn)在繼承關(guān)系中)final:Declaresthattheclas
5、scannotbesubclassed(聲明該類不能有子類)無修飾:aclasscanbeusedonlybyotherclassesinthesamepackage(僅僅能被同一個包中的其他類引用)133.5在Java中創(chuàng)建類和對象類主體類主體包含兩個部分:變量聲明和方法classClassName{MembervariableDeclarations;MethodDeclarations;}143.5在Java中創(chuàng)建類和對象成員變量聲明[修飾符]類型變量名;[修飾符]類型變量名[=初值];[修飾符]類型變量名[=初值][,變量名[=初值]…];成員
6、方法定義[類成員修飾符]方法返回類型方法名()[throws異常名]{方法體;}修飾符訪問權(quán)限修飾符:public/protected/private類型修飾符:static/final/transient/volatile15public(公共變量/公共方法)容許全權(quán)訪問,無任何限制(先構(gòu)造對象,再訪問)3.5在Java中創(chuàng)建類和對象同一個包中classA{A(){;}publicintx;publicvoidprint(){;}}classB{voidtest(){Aa=newA();a.x=100;a.print();}}不在同一個包中packa
7、geabc;publicclassA{publicA(){;}publicintx;publicvoidprint(){;}}packagexyz;importabc.A;classB{voidtest(){Aa=newA();a.x=100;a.print();}}直接訪問公有變量x和公共方法print()16private(私有變量/私有方法)僅能在其所定義的類中被訪問(先構(gòu)造對象,再訪問)D:>javacA.javaD:>javacB.javaxhasprivateaccessinAa.x=100;^print()hasprivateacce
8、ssinAa.print();^2errors3.5在Java中創(chuàng)建類和對象同一個包中clas