資源描述:
《java就業(yè)培訓教程面向?qū)ο?上)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、張孝祥IT課堂-Java就業(yè)培訓教程主講老師:□□□第三講面向?qū)ο螅ㄉ希├斫饷嫦驅(qū)ο蟮母拍蠲嫦蜻^程在一個結(jié)構(gòu)體中定義窗口的大小,位置,顏色,背景等屬性,對窗口操作的函數(shù)與窗口本身的定義沒有任何關(guān)系,如HideWindow,MoveWindow,MinimizeWindow,這些函數(shù)都需要接受一個代表要被操作的窗口參數(shù),是一種謂語與賓語的關(guān)系。面向?qū)ο蠖x窗口時,除了要指定在面向過程中規(guī)定的那些屬性,如大小,位置,顏色,背景等外,還要指定該窗口可能具有的動作,如隱藏,移動,最小化等。這些函數(shù)被調(diào)用時,都是以某個窗口要隱藏,某個窗口要
2、移動的語法格式來使用的,這是一種主語與謂語的關(guān)系。面向?qū)ο蟮娜筇卣鞣庋b(Encapsulation)繼承(Inheritance)多態(tài)(Polymorphism)類與對象類是對某一類事物的描述,是抽象的、概念上的定義;對象是實際存在的該類事物的每個個體,因而也稱實例(instance)。如果將對象比作汽車,那么類就是汽車的設(shè)計圖紙。所以面向?qū)ο蟪绦蛟O(shè)計的重點是類的設(shè)計,而不是對象的設(shè)計。類的定義classPerson{intage;voidshout(){System.out.println(“oh,mygod!Iam“+age)
3、;}}age是類的屬性,也叫類成員變量。shout是方法也叫類的成員函數(shù)。shout方法可以直接訪問同一個類中的age變量,如果一個方法中有與成員變量同名的局部變量,該方法中對這個變量名的訪問是局部變量,而不再是成員變量。對象的產(chǎn)生Personp1=newPerson();執(zhí)行完后的內(nèi)存狀態(tài)對象的產(chǎn)生當一個對象被創(chuàng)建時,會對其中各種類型的成員變量自動進行初始化賦值。除了基本數(shù)據(jù)類型之外的都是變量類型都是引用類型,如上面的Person及前面講過的數(shù)組。對象的使用創(chuàng)建新的對象之后,我們就可以使用“對象名.對象成員”的格式,來訪問對象的成
4、員(包括屬性和方法)classTestPerson{publicstaticvoidmain(String[]args){Personp1=newPerson();Personp2=newPerson();p1.age=-30;p1.shout();p2.shout();}}上面程序運行的內(nèi)存布局如下圖對象的生命周期對象的比較“==”運算符與equals()方法的區(qū)別怎樣比較兩個數(shù)組對象的內(nèi)容是否相等匿名對象我們也可以不定義對象的句柄,而直接調(diào)用這個對象的方法。這樣的對象叫做匿名對象,如:newPerson().shout();如果
5、對一個對象只需要進行一次方法調(diào)用,那么就可以使用匿名對象。我們經(jīng)常將匿名對象作為實參傳遞給一個函數(shù)調(diào)用。實現(xiàn)類的封裝性如果外面的程序可以隨意修改一個類的成員變量,會造成不可預料的程序錯誤,就象一個人的身高,不能被外部隨意修改,只能通過各種攝取營養(yǎng)的方法去修改這個屬性。在定義一個類的成員(包括變量和方法)時,使用private關(guān)鍵字說明這個成員的訪問權(quán)限,這個成員成了類的私有成員,只能被這個類的其他成員方法調(diào)用,而不能被其他的類中的方法所調(diào)用。實現(xiàn)類的封裝性為了實現(xiàn)良好的封裝性,我們通常將類的成員變量聲明為private,再通過pub
6、lic的方法來對這個變量進行訪問。對一個變量的操作,一般都有讀取和賦值操作,我們分別定義兩個方法來實現(xiàn)這兩種操作,一個是getXxx()(Xxx表示要訪問的成員變量的名字),用來讀取這個成員變量操作,另外一個是setXxx()用來對這個成員變量賦值。一個類通常就是一個小的模塊,我們應該讓模塊僅僅公開必須要讓外界知道的內(nèi)容,而隱藏其它一切內(nèi)容。我們在進行程序的詳細設(shè)計時,應盡量避免一個模塊直接修改或操作另一個模塊的數(shù)據(jù),模塊設(shè)計追求強內(nèi)聚(許多功能盡量在類的內(nèi)部獨立完成,不讓外面干預),弱耦合(提供給外部盡量少的方法調(diào)用)。用總統(tǒng)指揮
7、一支軍隊的例子來說明這種效果。類的封裝所帶來的優(yōu)點隱藏類的實現(xiàn)細節(jié);讓使用者只能通過事先定制好的方法來訪問數(shù)據(jù),可以方便地加入控制邏輯,限制對屬性的不合理操作;便于修改,增強代碼的可維護性;編程試驗:我們在一個類中定義了一個private類型的成員變量,接著產(chǎn)生了這個類的兩個實例對象,請問第一個對象的方法中,能否以“第二個對象.成員”的格式訪問第二個對象中的那個private成員變量?構(gòu)造函數(shù)的定義與作用構(gòu)造方法的特征它具有與類相同的名稱;它不含返回值;它不能在方法中用return語句返回一個值注意:在構(gòu)造方法里不含返回值的概念是不
8、同于“void”的,在定義構(gòu)造方法時加了“void”,結(jié)果這個方法就不再被自動調(diào)用了。構(gòu)造方法的作用:當一個類的實例對象剛產(chǎn)生時,這個類的構(gòu)造方法就會被自動調(diào)用,我們可以在這個方法中加入要完成初始化工作的代碼。這就好像我們規(guī)定每個“人