一、面向?qū)ο?/div>
1.面向?qū)ο笫窃诔绦蛑惺褂脤?duì)象來(lái)映射現(xiàn)實(shí)中的事物,對(duì)象的關(guān)系來(lái)描述事物之間的聯(lián)系。
2.面向?qū)ο蟮奶攸c(diǎn):
封裝性:封裝是將類(lèi)的某些信息隱藏在類(lèi)內(nèi)部,不讓外部程序去訪(fǎng)問(wèn),需要通過(guò)這個(gè)類(lèi)提供的方法來(lái)實(shí)現(xiàn)對(duì)隱藏信息的操作和訪(fǎng)問(wèn)。封裝也是面向?qū)ο蟮暮诵乃枷耄杨?lèi)的屬性和行為封裝起來(lái),不給外界知道具體的細(xì)節(jié)。
繼承性:繼承是類(lèi)與類(lèi)的一種關(guān)系,而不是對(duì)象在繼承。子類(lèi)從父類(lèi)繼承,子類(lèi)中就擁有父類(lèi)中定義的所有成員,只是類(lèi)的繼承,我們創(chuàng)建對(duì)象,對(duì)象與對(duì)象是毫無(wú)關(guān)系的。滿(mǎn)足繼承是一種”is a”關(guān)系,凡是滿(mǎn)足”is a”關(guān)系的類(lèi)就可以擁有繼承的關(guān)系,當(dāng)A類(lèi)是1個(gè)B類(lèi)的時(shí)候,那么A類(lèi)就可以從B類(lèi)繼承,例如“貓”繼承“動(dòng)物”,動(dòng)物類(lèi)是貓類(lèi)的父類(lèi)或基類(lèi),貓類(lèi)是動(dòng)物類(lèi)的子類(lèi)或派生類(lèi)。
多態(tài)性:多態(tài)就是對(duì)象的多種形態(tài)。在程序中可以出現(xiàn)重名現(xiàn)象,它指在一個(gè)類(lèi)中定義的方法和屬性被其他類(lèi)繼承,它們就有不同的數(shù)據(jù)類(lèi)型或表現(xiàn)出不同的行為,使得同一個(gè)屬性和方法在不同類(lèi)有不同的意義。
二、類(lèi)的定義
1.什么是類(lèi)?
物以類(lèi)聚,人以群分。類(lèi)是對(duì)一群具有相同特征或行為的事物的1個(gè)統(tǒng)稱(chēng)。是抽象的也不能直接使用。如果非要使用類(lèi)的話(huà)呢?只能去找這一類(lèi)事物中的一個(gè)具體存在,然后使用這個(gè)具體存在。
2.類(lèi)中可以定義成員變量和成員方法,其中成員變量用來(lái)描述對(duì)象的特征,也叫做屬性。成員方法用來(lái)描述對(duì)象的行為,稱(chēng)作方法。
3.如何定義一個(gè)類(lèi)
class Person{
int age;//定義int類(lèi)型變量age
//定義speak()方法
void speak(){
System.out.print("我今年"+age+"歲");
}
}
首先是定義了一個(gè)Person類(lèi),Person是類(lèi)名,age是成員變量,speak()成員方法。在成員方法可以訪(fǎng)問(wèn)成員變量的age。
4.定義在類(lèi)中的變量是成員變量,定義在方法中的變量局部變量。假設(shè)在某一個(gè)方法中定義局部變量跟成員變量的名是一樣的,這時(shí)方法訪(fǎng)問(wèn)的是局部變量而不是成員變量。
例如:
class Person{
int age=3;//成員變量
//定義speak()方法
void speak(){
int age=10;//局部變量
System.out.print("我今年"+age+"歲");
}
}
public class p13 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Person p1=new Person();
p1.speak();
}
}
輸出的結(jié)果是:
我今年10歲
三、對(duì)象的創(chuàng)建和使用
1.什么是對(duì)象
對(duì)象是現(xiàn)實(shí)生活中的一個(gè)個(gè)具體存在.。看得見(jiàn)、摸的著。拿過(guò)來(lái)就可以直接使用。
2.創(chuàng)建對(duì)象的格式
類(lèi)名 對(duì)象名稱(chēng)=new 類(lèi)名();
例如:
Person p=new Person();
上面代碼中”new Person()”是創(chuàng)建Person類(lèi)的一個(gè)實(shí)例對(duì)象,”Person p”是Person類(lèi)的變量p。“=”表示Person對(duì)象在內(nèi)存中的地址賦值給變量p。這個(gè)變量p就有了對(duì)象的引用。
3.創(chuàng)建對(duì)象后,可以通過(guò)對(duì)象的引用來(lái)訪(fǎng)問(wèn)對(duì)象的所有成員。
訪(fǎng)問(wèn)對(duì)象成員的格式
對(duì)象引用.對(duì)象成員
4.如何訪(fǎng)問(wèn)對(duì)象成員的案例
class Person{
int age;//成員變量
//定義speak()方法
void speak(){
System.out.println("我叫張三,今年"+age+"歲");
}
}
public class p13 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//創(chuàng)建兩個(gè)Person的對(duì)象
Person p1=new Person();//創(chuàng)建第一個(gè)Person對(duì)象
p1.age=8;//age屬性賦值
p1.speak();//調(diào)用對(duì)象的方法
Person p2=new Person();//創(chuàng)建第二個(gè)Person對(duì)象
p2.speak();//調(diào)用對(duì)象的方法
}
}
輸出的結(jié)果是:
我叫張三,今年8歲
我叫張三,今年0歲
四、總結(jié)
本文主要介紹了面向?qū)ο蟾拍睿嫦驅(qū)ο蟮娜齻€(gè)特點(diǎn)封裝性、繼承性、多態(tài)性。類(lèi)的定義和創(chuàng)建對(duì)象與使用。詳細(xì)的介紹了怎么去定義一個(gè)類(lèi),通過(guò)案例來(lái)理解怎么去定義的。對(duì)象的創(chuàng)建與使用介紹了使用的格式,通過(guò)創(chuàng)建對(duì)象后,可以通過(guò)對(duì)象的引用來(lái)訪(fǎng)問(wèn)對(duì)象的成員。希望大家通過(guò)本文的學(xué)習(xí),對(duì)你有所幫助!