資源描述:
《類的封裝、繼承和多態(tài)ppt課件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章類的封裝、繼承和多態(tài)3.1類和對(duì)象3.2類的封裝性3.3類的繼承性3.4類的多態(tài)性3.5類的抽象性2021/9/21面向?qū)ο蟮幕靖拍铑惡蛯?duì)象類(class)是數(shù)據(jù)和對(duì)數(shù)據(jù)操作的封裝體。對(duì)象(object)是類的實(shí)例(instance)。類的封裝性、繼承性、多態(tài)性和抽象性類的封裝性:基礎(chǔ)類的繼承性:技術(shù)關(guān)鍵、軟件可重用性類的多態(tài)性:靈活機(jī)制、重載和覆蓋類的抽象性:現(xiàn)實(shí)世界中的實(shí)體->問題域中的類成員變量成員方法數(shù)據(jù)類型<——>變量2021/9/223.1類和對(duì)象3.1.1類3.1.2對(duì)象2021/9/233.1.1類1聲明類類
2、聲明{成員變量的聲明;成員方法的聲明及實(shí)現(xiàn);}2聲明成員變量publicclassMyDate//類聲明{intyear,month,day;//聲明成員變量}[修飾符]class類<泛型>[extends父類][implements接口列表][修飾符][static][final]數(shù)據(jù)類型變量;public、abstract、finalpublic、protected、private2021/9/243.1.1類(續(xù))3聲明成員方法[修飾符]返回值類型方法([參數(shù)列表])[throws異常類]{語句序列;[return[返回值]]
3、;}4成員方法重載注意重載的含義!【例3.1】聲明日期類2021/9/253.1.2對(duì)象聲明對(duì)象類對(duì)象;//MyDateaday;對(duì)象實(shí)例化對(duì)象=new類的構(gòu)造方法([參數(shù)列表]);aday=newMyDate();MyDateaday=newMyDate();引用對(duì)象的成員變量和調(diào)用成員方法對(duì)象.成員變量或?qū)ο?成員方法([參數(shù)列表])aday.year=2009;//aday.set(2009,9,16);//"abcd".equals("abc")//2021/9/263.1.2對(duì)象(續(xù))對(duì)象的引用模型MyDated1=new
4、MyDate();(a)聲明對(duì)象并引用實(shí)例d1.set(2009,7,16);(b)對(duì)象調(diào)用類的成員方法d1實(shí)例000yearmonthdayd17162009yearmonthdayMyDated2=d1;(c)對(duì)象引用賦值,兩個(gè)對(duì)象引用一個(gè)實(shí)例d17162009d2d1d2.year=2008;(d)修改d2實(shí)例的成員變量值,影響d1對(duì)象d271620082021/9/27對(duì)象的關(guān)系運(yùn)算與比較相等3.1.2對(duì)象(續(xù))MyDated2=newMyDate();d2.set(d1);(b)設(shè)置d2對(duì)象值同d1實(shí)例d1==d2結(jié)果是f
5、alsed1.equals(d2)結(jié)果是trued17162009d27162009MyDated2=d1;(a)兩個(gè)對(duì)象引用一個(gè)實(shí)例d1==d2結(jié)果是trued1.equals(d2)結(jié)果是trued17162009d2==、!=、equals()方法==與equals()的區(qū)別?2021/9/283.2類的封裝性3.2.1構(gòu)造方法3.2.2this引用和instanceof對(duì)象運(yùn)算符3.2.3訪問控制3.2.4靜態(tài)成員3.2.5析構(gòu)方法3.2.6淺拷貝與深拷貝2021/9/293.2.1構(gòu)造方法構(gòu)造方法的聲明及調(diào)用publicc
6、lassMyDate{…………publicMyDate(inty,intm,intd)//聲明構(gòu)造方法{//構(gòu)造方法與類同名,返回該類的一個(gè)實(shí)例year=y;month=m;day=d;}}MyDateaday=newMyDate(2010,9,10);問題:構(gòu)造方法與成員方法的不同?2021/9/2103.2.1構(gòu)造方法(續(xù))默認(rèn)構(gòu)造方法MyDateaday=newMyDate();拷貝構(gòu)造方法——類的構(gòu)造方法,其參數(shù)是該類對(duì)象。publicMyDate(MyDated){year=d.year;month=d.month;day
7、=d.day;}調(diào)用語句如下:MyDated1=newMyDate(2010,9,10);MyDated2=newMyDate(d1);MyDated2=newMyDate();d2.set(d1);構(gòu)造方法重載2021/9/2113.2.2this引用和instanceof對(duì)象運(yùn)算符this引用指代對(duì)象本身:this訪問本類的成員變量和成員方法this.成員變量this.成員方法([參數(shù)列表])調(diào)用本類重載的構(gòu)造方法this([參數(shù)列表])instanceof對(duì)象運(yùn)算符MyDateaday=newMyDate(2010.10.1)
8、;adayinstanceofMyDate//返回true2021/9/2123.2.3訪問控制類中成員的訪問控制權(quán)限權(quán)限修飾符同一類同一包不同包的子類所有類public(公有)????protected(保護(hù))???缺省??priv