資源描述:
《面向?qū)ο箢惻c對(duì)象的定義》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、——面向?qū)ο蟮母拍铑惻c對(duì)象的定義第3章:面向?qū)ο蟪绦蛟O(shè)計(jì)本節(jié)目標(biāo)了解面向?qū)ο蟮幕靖拍盍私饷嫦驅(qū)ο蟮娜齻€(gè)主要特征掌握類與對(duì)象的關(guān)系掌握類的定義掌握對(duì)象的聲明及使用面向過程與面向?qū)ο蟪绦虻陌l(fā)展經(jīng)歷了兩個(gè)主要階段:面向過程和面向?qū)ο髮?duì)于面向?qū)ο笈c面向過程可以用一個(gè)例子解釋,如一個(gè)木匠要做一個(gè)盒子,那么做這個(gè)盒子的出發(fā)點(diǎn)會(huì)有兩種方式:面向?qū)ο螅合认牒靡龅暮凶?,之后再去找相?yīng)的工具去做。面向過程:不去想要做什么樣的盒子,隨需取用工具。面向?qū)ο蟮娜筇卣鞣庋b(Encapsulation)對(duì)外部不可見繼承(Inheritance)擴(kuò)展類
2、的功能多態(tài)(Polymorphism)方法的重載對(duì)象的多態(tài)性類與對(duì)象類是對(duì)某一類事物的描述,是抽象的、概念上的定義;對(duì)象是實(shí)際存在的該類事物的每個(gè)個(gè)體,因而也稱實(shí)例(instance)具體的實(shí)例具體的實(shí)例具體的實(shí)例具體的實(shí)例具體的實(shí)例具體的實(shí)例抽象的概念換種方式解釋:類與對(duì)象的關(guān)系類就相當(dāng)于是一個(gè)模板,依照此模板產(chǎn)生產(chǎn)品類的定義聲明成員變量(屬性)定義方法的內(nèi)容class類名稱{數(shù)據(jù)類型屬性;….public返回值的數(shù)據(jù)類型方法名稱(參數(shù)1,參數(shù)2…){程序語句;[return表達(dá)式;]}}定義Person類classPers
3、on{Stringname;intage;publicvoidtell(){System.out.println("姓名:"+name+",年齡:"+age);}}Person類圖所示的圖形分為三個(gè)層次第一層表示類的名稱,類的名稱與之前一樣要求開頭首字母大寫;第二層表示屬性的定義,按照“訪問權(quán)限屬性名稱:屬性類型”的格式定義;第三層表示類中方法的定義,按照“訪問權(quán)限方法名稱():方法返回值”的格式定義對(duì)象的創(chuàng)建及使用類名對(duì)象名稱=null;//聲明對(duì)象對(duì)象名稱=new類名();//實(shí)例化對(duì)象類名對(duì)象名稱=new類名();cla
4、ssPerson{Stringname;intage;publicvoidtell(){System.out.println("姓名:"+name+",年齡:"+age);}}publicclassClassDemo02{publicstaticvoidmain(Stringargs[]){Personper=newPerson();}}訪問類中的屬性和方法訪問屬性:對(duì)象名稱.屬性名訪問方法:對(duì)象名稱.方法名()classPerson{Stringname;intage;publicvoidtell(){System.out.
5、println("姓名:"+name+",年齡:"+age);}}publicclassClassDemo03{publicstaticvoidmain(Stringargs[]){Personper=newPerson();per.name="張三";//為屬性賦值per.age=30;per.tell();//調(diào)用類中的方法}}下一節(jié)內(nèi)容類與對(duì)象的進(jìn)一步研究本節(jié)目標(biāo)掌握J(rèn)AVA中的內(nèi)存劃分初窺Java引用傳遞垃圾的產(chǎn)生分析內(nèi)存劃分:對(duì)象創(chuàng)建之初publicclassClassDemo02{publicstaticvoidm
6、ain(Stringargs[]){Personper=newPerson();}}內(nèi)存操作:為屬性賦值publicclassClassDemo03{publicstaticvoidmain(Stringargs[]){Personper=newPerson();per.name="張三";//為屬性賦值per.age=30;per.tell();//調(diào)用類中的方法}}聲明多個(gè)對(duì)象publicclassClassDemo04{publicstaticvoidmain(Stringargs[]){Personper1=null;
7、//聲明per1對(duì)象Personper2=null;//聲明per2對(duì)象per1=newPerson();//實(shí)例化per1對(duì)象per2=newPerson();//實(shí)例化per2對(duì)象per1.name="張三";//設(shè)置per1對(duì)象的name屬性內(nèi)容per1.age=30;//設(shè)置per1對(duì)象的age屬性內(nèi)容per2.name="李四";//設(shè)置per2對(duì)象的name屬性內(nèi)容per2.age=33;//設(shè)置per2對(duì)象的age屬性內(nèi)容System.out.print("per1對(duì)象中的內(nèi)容-->");per1.tell();
8、//per1調(diào)用方法System.out.print("per2對(duì)象中的內(nèi)容-->");per2.tell();//per2調(diào)用方法}}內(nèi)存劃分對(duì)象引用傳遞publicclassClassDemo05{publicstaticvoidmain(Stringargs[]){Pe