對(duì)象和對(duì)象變量
對(duì)象和類
面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP),類是創(chuàng)建對(duì)象的模板或藍(lán)圖,從類中構(gòu)造一個(gè)對(duì)象,即創(chuàng)建了這個(gè)類的一個(gè)實(shí)例(instance)。
面向?qū)ο笾校庋b(encapsulation)是把數(shù)據(jù)和行為結(jié)合在一個(gè)包中,并對(duì)對(duì)象的使用者隱藏?cái)?shù)據(jù)的實(shí)現(xiàn)過程。
對(duì)象中的數(shù)據(jù)稱為對(duì)象的實(shí)例字段(instance field),操作數(shù)據(jù)的函數(shù)和過程稱為對(duì)象的方法(method)。實(shí)現(xiàn)封裝的
關(guān)鍵在于決不讓方法直接訪問其他類的實(shí)例字段。程序應(yīng)該只能通過對(duì)象的方法和對(duì)象的數(shù)據(jù)交互。OOP的另一個(gè)原則,
繼承性(inheritance),使得很容易在java中編寫自己的類.
對(duì)象
要使用OOP,需要了解對(duì)象的三個(gè)主要特性,分別是
對(duì)象的行為(behavior) 對(duì)象能做什么,或者說,能對(duì)對(duì)象施加什么方法
對(duì)象的狀態(tài)(state) 對(duì)對(duì)象施加方法時(shí),對(duì)象如何反應(yīng)
對(duì)象的身份(identity) 對(duì)象如何與具有相同行為、狀態(tài)的其他對(duì)象相互區(qū)別
類之間的關(guān)系
依賴("use-a") 在A類中的方法操作了B類對(duì)象,那么A類依賴于B類
聚合("has-a") A類對(duì)象包含B類對(duì)象,還包含C類對(duì)象等等,聚合關(guān)系意味著類A的對(duì)象包含類B的對(duì)象
繼承("is-a") 繼承關(guān)系用來表示更特殊的和更一般的類之間的關(guān)系
對(duì)象和對(duì)象變量
要使用對(duì)象,使用構(gòu)造器(constructor)來構(gòu)造新的實(shí)例。構(gòu)造器是一個(gè)專門的方法,構(gòu)造器名稱和類名相同
因此Date類的構(gòu)造器名為Date。要構(gòu)造Date對(duì)象,只要在構(gòu)造器前面加上new運(yùn)算符就行了,如new Date()
這個(gè)表達(dá)式即構(gòu)造了一個(gè)新的對(duì)象,通常我們需要把對(duì)象存儲(chǔ)在一個(gè)變量中 Date birthday = new Date();
birthday是一個(gè)對(duì)象變量,對(duì)象變量(birthday)指向新構(gòu)造的對(duì)象(new Date)。對(duì)象變量并不包含對(duì)象,
它只是指向一個(gè)對(duì)象。在java中,任何對(duì)象變量的值都是指向存儲(chǔ)在別處的對(duì)象的一個(gè)引用。new 運(yùn)算符的返回
值也是一個(gè)引用。
面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP),類是創(chuàng)建對(duì)象的模板或藍(lán)圖,從類中構(gòu)造一個(gè)對(duì)象,即創(chuàng)建了這個(gè)類的一個(gè)實(shí)例(instance)。
面向?qū)ο笾校庋b(encapsulation)是把數(shù)據(jù)和行為結(jié)合在一個(gè)包中,并對(duì)對(duì)象的使用者隱藏?cái)?shù)據(jù)的實(shí)現(xiàn)過程。
對(duì)象中的數(shù)據(jù)稱為對(duì)象的實(shí)例字段(instance field),操作數(shù)據(jù)的函數(shù)和過程稱為對(duì)象的方法(method)。實(shí)現(xiàn)封裝的
關(guān)鍵在于決不讓方法直接訪問其他類的實(shí)例字段。程序應(yīng)該只能通過對(duì)象的方法和對(duì)象的數(shù)據(jù)交互。OOP的另一個(gè)原則,
繼承性(inheritance),使得很容易在java中編寫自己的類.
對(duì)象
要使用OOP,需要了解對(duì)象的三個(gè)主要特性,分別是
對(duì)象的行為(behavior) 對(duì)象能做什么,或者說,能對(duì)對(duì)象施加什么方法
對(duì)象的狀態(tài)(state) 對(duì)對(duì)象施加方法時(shí),對(duì)象如何反應(yīng)
對(duì)象的身份(identity) 對(duì)象如何與具有相同行為、狀態(tài)的其他對(duì)象相互區(qū)別
類之間的關(guān)系
依賴("use-a") 在A類中的方法操作了B類對(duì)象,那么A類依賴于B類
聚合("has-a") A類對(duì)象包含B類對(duì)象,還包含C類對(duì)象等等,聚合關(guān)系意味著類A的對(duì)象包含類B的對(duì)象
繼承("is-a") 繼承關(guān)系用來表示更特殊的和更一般的類之間的關(guān)系
對(duì)象和對(duì)象變量
要使用對(duì)象,使用構(gòu)造器(constructor)來構(gòu)造新的實(shí)例。構(gòu)造器是一個(gè)專門的方法,構(gòu)造器名稱和類名相同
因此Date類的構(gòu)造器名為Date。要構(gòu)造Date對(duì)象,只要在構(gòu)造器前面加上new運(yùn)算符就行了,如new Date()
這個(gè)表達(dá)式即構(gòu)造了一個(gè)新的對(duì)象,通常我們需要把對(duì)象存儲(chǔ)在一個(gè)變量中 Date birthday = new Date();
birthday是一個(gè)對(duì)象變量,對(duì)象變量(birthday)指向新構(gòu)造的對(duì)象(new Date)。對(duì)象變量并不包含對(duì)象,
它只是指向一個(gè)對(duì)象。在java中,任何對(duì)象變量的值都是指向存儲(chǔ)在別處的對(duì)象的一個(gè)引用。new 運(yùn)算符的返回
值也是一個(gè)引用。
posted on 2005-11-07 16:15 bluesky 閱讀(3174) 評(píng)論(0) 編輯 收藏 所屬分類: 基礎(chǔ)知識(shí)