物件導向大綱總結

2020-08-12 16:45:01

類和物件

1、程序導向

  • 注重過程來發,什麼事情都要自己去完成
  • 如 C語言

2、物件導向

  • 注重類的設計,找一個物件去完成這件事
  • 如 Java

3、類和物件

  • 類是一個抽象的、不具體的,如汽車圖紙
  • 物件是真實存在的,是類的範例,如根據圖紙造出來的汽車

4、類包含什麼

  • 屬性(成員變數、範例變數)

  • 行爲(成員方法)

  • 方法過載
    1.必須在一個類中
    2.要求方法名相同
    3.參數列表不相同(個數不同、型別不同、型別的順序不同)

  • 參數傳遞
    值傳遞(基本數據型別傳遞,傳遞的是值的副本)
    參照傳遞(參照數據型別,傳遞的是堆裏面的地址)

封裝

什麼是封裝?

  • 隱藏事物的內部細節,提供對外存取的公共方法

如何實現封裝

  • 將屬性私有化
  • 提供對應的get/set方法

構造方法

  • 1.建立物件
  • 2.建立物件的同時給屬性賦值
  • 3.所有的類都會有構造方法
  • 4.構造方法可以進行過載,如果加了一個有參構造方法,必須顯示的加一個無參構造方法

this

  • 1.this代表當前物件
  • 2.用來區分成員變數和區域性變數
  • 3.可以修飾成員變數(this.成員變數名)、成員方法(this.方法名)、構造方法(this(形參))

繼承

1、什麼時繼承?

  • 允許子類擁有父類別的屬性和行爲

2、繼承的優缺點

  • 優點:提高程式碼的複用性
  • 缺點:類和類之間的耦合度變高了

3、存取修飾符

  • public
  • protected
  • default
  • private

4、super

  • 1.當子類和父類別屬性重名時,可以通過 super.屬性名 的方式呼叫父類別的屬性
  • 2.當子類重寫父類別的方法後,可以通過 super.方法名 的方式呼叫父類別未重寫前的方法
  • 3.通過 super(形參) 的方式呼叫父類別的構造方法,預設呼叫父類別無參構造方法
  • 4.this代表當前物件,super代表父類別物件

5、方法重寫

  • 什麼是方法重寫?
    如果父類別的方法滿足不了子類的需求,可以重寫父類別的方法
  • 要求
    1.要求子類方法名、參數列表、返回值型別必須與父類別一致
    2.子類方法的存取修飾符許可權不能小於父類別
    3.子類和父類別方法必須同爲static或非static

多型

1、什麼時多型?

  • 1.一個物件的多種形態
  • 2.同一個動作作用於不同的物件所產生的行爲是不一樣的

2、多型的型別

  • 1.編譯時多型(方法過載)
  • 2.執行時多型(程式在執行期間才能 纔能確定物件的型別)

3、多型產生的條件

  • 1.方法過載
  • 2.方法重寫
  • 3.存在繼承關係
  • 4.介面的實現
  • 5.子類物件的多型性

4、多型的特性

  • 1.子類物件的多型性(父類別的參照指向子類的範例),Person stu = new Student();
  • 2.在編譯的時候呼叫父類別的存取,在執行時執行的是子類重寫的方法
  • 3.編譯看左邊,執行看右邊
  • 4.子類和父類別的型別轉換
    向上轉型(子類轉成父類別),Person stu = new Student();
    向下轉型(父類別轉成子類),Student stu1 = (Student0) stu;

5、final

  • final代表什麼
    代表最終的意思
  • final可以修飾什麼?
    1.修飾的類不能被繼承
    2.修飾的方法不能被重寫
    3.修飾成員變數,成員變數就變成了常數,不會再有預設值
    4.修飾區域性變數,就變成了常數

6、static

1.成員變數(類變數)

  • 類變數隨着類的載入而載入,無論建立多少物件,這些物件都共用我這個變數值
  • 用static修飾的變數,這個變數就不再屬於物件,而屬於類本身
  • 存取:類名.屬性
  • 類變數儲存在方法區靜態域

2.成員方法(類方法)

  • 用static修飾的方法,這個方法就不再屬於物件,而屬於類本身
  • 存取:類名.方法名
  • 在類方法裏面只能呼叫靜態變數或靜態方法,不能呼叫非靜態變數和方法
  • 在非靜態方法裏面可以呼叫靜態變數和靜態方法
  • 不能使用this、super關鍵字

3.靜態程式碼塊

  • static{}
  • 它隨着類的載入而載入,只會執行一次
  • JDBC的工具類

抽象類

1、什麼是抽象類

  • 抽象類一般當成父類別,主要是功能的定義,具體方法的實現交給子類去完成,通過abstract進行修飾

2、抽象類的特點

  • 1.抽象方法所在的類必須是抽象類
  • 2.抽象類不能範例化
  • 3.如果要實現一個抽象類,必須寫一個子類繼承這個抽象類
  • 4.抽象類有構造方法
  • 5.繼承抽象類以後,子類必須重寫抽象類所有的抽象方法(子類非抽象類)
  • 6.抽象類可以定義普通方法

3、抽象方法

  • 沒有方法體,只有方法的定義

介面

1、什麼是介面?

  • 介面就是一組規範,把不同的類或者不同層次的類具有相同行爲的集合在一起

2、怎麼定義介面

  • 把class變成interface

3、介面的特點

  • 1.介面裏面的方法都是抽象方法
  • 2.介面裏面的變數都是常數
  • 3.介面就是一特殊的抽象類,不能被範例化
  • 4.建立一個類實現介面,重寫這個介面的所有抽象方法(抽象類除外)
  • 5.介面可以繼承介面,繼承多個介面
  • 6.一個類可以實現多個介面,每個介面之間用 , 隔開,解決類單繼承的問題
  • 7.介面裏面不能定義普通方法,jdk8以後有default概念,可以有方法體
  • 8.介面沒有構造方法

4、實現類

  • 1.實現介面的類就是實現類
  • 2.如果一個類繼承一個類並且實現了一個介面,那麼繼承寫在介面前面 ,C extends A implements B

PDF下載鏈接https://download.csdn.net/download/qq_42629988/12707476

大綱思維導圖:
在这里插入图片描述