面向?qū)ο蠛喪觯╫op)

1 面向?qū)ο?/h1>

面向?qū)ο笫蔷幊痰囊环N思維方式震叙。
分析思路:面對程序設(shè)計(jì)時(shí)筒扒,分析有什么對象护奈,對象有什么數(shù)據(jù)(屬性),對象有什么操作方法唱较。

2 對象

萬事萬物都是對象
對象強(qiáng)調(diào)的是一個(gè)具體的個(gè)體
例如:楊樹就不是對象扎唾,在小河邊的那個(gè)楊樹才是對象,強(qiáng)調(diào)的是個(gè)體南缓。

2.1 對象的構(gòu)成

2.1.1對象是由數(shù)據(jù)和操作構(gòu)成

對象的狀態(tài)是指對象的數(shù)據(jù)胸遇,對象的狀態(tài)由變量表示,也叫對象的屬性汉形。
對象的行為是指對象的功能纸镊,對象的行為由方法表示倍阐。
例如:

學(xué)生對象{
    數(shù)據(jù):姓名、成績
    行為:聽課逗威,做作業(yè)
}
2.1.2對象的創(chuàng)建

對象是由類實(shí)例化時(shí)創(chuàng)建的峰搪,因此創(chuàng)建對象必須先定義類。
類是對象的模板凯旭,類中定義了什么屬性和方法概耻,由這個(gè)類實(shí)例化的對象就有什么屬性和方法。
類是一次性定義尽纽,對象可以多次創(chuàng)建咐蚯。

3 類

3.1 類的定義

類是具有相同的狀態(tài)和相同的行為的一組對象的集合。

3.2 類和對象的關(guān)系

類和對象的關(guān)系就如同模具和用這個(gè)模具制作出來的物品之間的關(guān)系弄贿。一個(gè)類給出它的全部對象的一個(gè)統(tǒng)一的定義春锋,而它的每個(gè)對象則是符合這種定義的一個(gè)實(shí)體(也稱作實(shí)例),因此類和對象的關(guān)系就是抽象和具體的關(guān)系差凹。

3.3 類的構(gòu)成

類是由屬性和方法構(gòu)成的

3.4 類的創(chuàng)建

public class 類名 {
    //可編寫0至n個(gè)屬性
    數(shù)據(jù)類型 變量名1期奔;
    數(shù)據(jù)類型 變量名2;
    
    //可編寫0至n個(gè)方法
    修飾符 返回值類型 方法名(參數(shù)){
        執(zhí)行語句;
    }
}

示例:

public class Student {
    //類的屬性(類的狀態(tài))
    String name; 
    int score;
    String no;
    //類的方法(類的行為)
    public void play(){
        System.out.printf("我的名字是%s,我的成績是%d,我的學(xué)號是%s",name,score,no);
    }
}

注意:

  • public類的類名必須和類所在文件的文件名一致
  • 如果不是public類危尿,那么類名與類所在的文件名可以不一致
  • 類名的命名規(guī)范是:帕斯卡命名法

4 實(shí)例化對象

通過類創(chuàng)建對象的過程稱為類的實(shí)例化呐萌。實(shí)例化的結(jié)果是產(chǎn)生了一個(gè)實(shí)例,實(shí)例也叫對象谊娇。

類名 對象名 = new 類名();

示例:

Student s1 =new Student();
Student s2 =new Student();

5 類和對象的區(qū)別

  • 類是對某一類事物的抽象描述肺孤,不是具體的個(gè)體
  • 對象是對某一事物的具體描述,是具體的個(gè)體

6 方法的重載

在同一個(gè)類中:同名不同參济欢,與返回值無關(guān)赠堵。
示例:

public class Student{
    public void play(){
        
    }
    public int play(int time){
        return 0;
    }
}

7 構(gòu)造方法

構(gòu)造方法也叫構(gòu)造函數(shù),或者叫構(gòu)造器

  1. 構(gòu)造方法的方法名必須與類名相同
  2. 構(gòu)造方法沒有返回值法褥,也不寫void
    示例:
class Student {
    //構(gòu)造方法
    Student(){

    }
}

7.1 構(gòu)造方法的作用

為對象的屬性初始化茫叭。

8 變量

變量分為局部變量和成員變量

8.1 局部變量

定義在方法中的變量
示例:

 public void sayHello(){
      int height = 20;//局部變量
}

8.2 成員變量

成員變量是類的屬性,是定義在類內(nèi)半等,方法外的變量揍愁。
示例:

class Student {
    String name;
    int score;
    String no;
}

9 面向?qū)ο蟮娜筇匦?/h1>

9.1 封裝

為了保護(hù)數(shù)據(jù),用訪問修飾符實(shí)現(xiàn)封裝

9.1.1 訪問修飾符
  • public:公共的
  • protected:受保護(hù)的
  • 默認(rèn) | default(什么都不寫)
  • private:私有的
9.1.1.1 public

public修飾的屬性沒有訪問限制杀饵,是最寬松的封裝莽囤。
示例:

public class Person {
    public String name;//公有
}

name可以在任何地方被訪問呢,也就是可以讀和寫
pubilc修飾類:類可以在任何地方被訪問
public修飾屬性和方法:屬性和方法可以在任何地方被訪問

9.1.1.2 protected

被protected修飾的屬性或方法在子類中一定可以訪問切距。無論子類是否與父類在一個(gè)包里烁登。同包也可以訪問。
示例:

package com.sunmer.tmp;

public class Father {
    protected int age;
    int weight;
}
package com.sunmer.tmp;

public class Sub1 extends Father{
    public static void main(String[] args) {
        Sub1 sub1 = new Sub1();
        sub1.age= 1;//可以訪問
        sub1.weight = 1;//可以訪問
    }
}
package com.sunmer.oop;
import com.sunmer.tmp.Father;
public class Sub2 extends Father {
    public static void main(String[] args) {
        Sub2 sub2 = new Sub2();
        sub2.age = 0;//可以訪問
    }
}
9.1.1.3 private

private修飾的屬性只能在類內(nèi)被訪問,類外無法訪問饵沧,是最嚴(yán)格的封裝锨络。
示例:

public class Person {
    private String name;//私有
}

name屬性只能在Person類的類內(nèi)使用,類外無法使用狼牺。

注意:

private不能修飾類

private class Classinfo{//報(bào)錯(cuò)羡儿,private不能修飾類

}
public class Student {

}

private可以修飾類的成員,無論類的成員是什么是钥。
示例:

public class Student {
    int age;
    private class Classinfo{//不報(bào)錯(cuò)掠归,因?yàn)镃assinfo類是Student類的成員

    }
}

9.2 繼承

9.2.1 繼承的優(yōu)點(diǎn)

  • 繼承的出現(xiàn)提高了代碼的復(fù)用性,提高軟件開發(fā)效率悄泥。
  • 繼承的出現(xiàn)讓類與類之間產(chǎn)生了關(guān)系虏冻,提供了多態(tài)的前提。

9.2.2 繼承的定義

在程序中弹囚,如果想聲明一個(gè)類繼承另一個(gè)類厨相,需要使用extends關(guān)鍵字。

class 子類 extends 父類 {
    
}

9.2.3 繼承的注意事項(xiàng)

9.2.3.1 類只支持單繼承鸥鹉,不允許多繼承
class A{} 
class B{}
class C extends A,B{}  // C類不可以同時(shí)繼承A類和B類
9.2.3.2 多個(gè)類可以繼承一個(gè)父類
class A{}
class B extends A{}
class C extends A{}   // 類B和類C都可以繼承類A
9.2.3.3 允許多層繼承
class A{}
class B extends A{}   // 類B繼承類A蛮穿,類B是類A的子類
class C extends B{}   // 類C繼承類B,類C是類B的子類毁渗,同時(shí)也是類A的子類

9.3 多態(tài)

多態(tài)就是多種形態(tài)践磅,多種形式。

9.3.1 多態(tài)的語法格式

多態(tài)的定義格式:就是父類的引用變量指向子類對象

父類類型  變量名 = new 子類類型();
變量名.方法名();
Pet pet = new Cat();
pet.toString();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末灸异,一起剝皮案震驚了整個(gè)濱河市府适,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌肺樟,老刑警劉巖檐春,帶你破解...
    沈念sama閱讀 212,599評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異儡嘶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)恍风,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,629評論 3 385
  • 文/潘曉璐 我一進(jìn)店門蹦狂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人朋贬,你說我怎么就攤上這事凯楔。” “怎么了锦募?”我有些...
    開封第一講書人閱讀 158,084評論 0 348
  • 文/不壞的土叔 我叫張陵摆屯,是天一觀的道長。 經(jīng)常有香客問我,道長虐骑,這世上最難降的妖魔是什么准验? 我笑而不...
    開封第一講書人閱讀 56,708評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮廷没,結(jié)果婚禮上糊饱,老公的妹妹穿的比我還像新娘。我一直安慰自己颠黎,他們只是感情好另锋,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,813評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著狭归,像睡著了一般夭坪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上过椎,一...
    開封第一講書人閱讀 50,021評論 1 291
  • 那天室梅,我揣著相機(jī)與錄音,去河邊找鬼潭流。 笑死竞惋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的灰嫉。 我是一名探鬼主播拆宛,決...
    沈念sama閱讀 39,120評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼讼撒!你這毒婦竟也來了浑厚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,866評論 0 268
  • 序言:老撾萬榮一對情侶失蹤根盒,失蹤者是張志新(化名)和其女友劉穎钳幅,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炎滞,經(jīng)...
    沈念sama閱讀 44,308評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡敢艰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,633評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了册赛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片钠导。...
    茶點(diǎn)故事閱讀 38,768評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖森瘪,靈堂內(nèi)的尸體忽然破棺而出牡属,到底是詐尸還是另有隱情,我是刑警寧澤扼睬,帶...
    沈念sama閱讀 34,461評論 4 333
  • 正文 年R本政府宣布逮栅,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏措伐。R本人自食惡果不足惜特纤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,094評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望废士。 院中可真熱鬧叫潦,春花似錦、人聲如沸官硝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,850評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽氢架。三九已至傻咖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間岖研,已是汗流浹背卿操。 一陣腳步聲響...
    開封第一講書人閱讀 32,082評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留孙援,地道東北人害淤。 一個(gè)月前我還...
    沈念sama閱讀 46,571評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像拓售,于是被迫代替她去往敵國和親窥摄。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,666評論 2 350

推薦閱讀更多精彩內(nèi)容