1. 程式人生 > >面向物件第六章

面向物件第六章

###1.介面: 1)是一種資料型別(引用型別) 2)由interface定義 3)只能包含常量和抽象方法 4)介面不能被例項化 5)介面是需要被實現/繼承的,實現類/派生類: 必須重寫所有抽象方法 6)一個類可以實現多個介面,用逗號分隔 若又繼承又實現時,應先繼承後實現 7)介面繼承介面(可以繼承多個介面) 設計規則: 1)將所有派生類所共有的屬性和行為,抽到超類中----抽共性 2)所有派生類的行為都一樣,設計為普通方法 所有派生類的行為都不一樣,設計為抽象方法 3)將部分派生類所共有的行為,抽到介面中 符合既是也是原則時,使用介面 介面是對繼承單根性的擴充套件-------------實現多繼承 筆記: ###1.多型: 1)多型的意義: 1.1)同一型別的引用指向不同的物件時,有不同的實現 ----行為的多型:cut()、run()、step()...... 1.2)同一個物件被造型為不同的型別時,有不同的功能 ----物件的多型:我、你、水...... 2)向上造型/自動型別轉換: 2.1)超型別的引用指向派生類的物件 2.2)能造型成為的型別有: 超類+所實現的介面 2.3)能點出來什麼,看引用的型別 3)強制型別轉換,成功的條件只有如下兩種: 3.1)引用所指向的物件,就是該型別 3.2)引用所指向的物件,實現了該介面或繼承的該類 4)強轉時若不符合如上條件,則發生ClassCastException型別轉換異常, 建議在強轉之前先通過instanceof來判斷引用的物件是否是該型別