物件導向特性

2021-09-03 03:33:49 字數 1593 閱讀 3432

三大特性:封裝、繼承、多型

封裝封裝屬性:

1,私有化成員變數

2,提供get,set方法

3,在方法的內容加入控制語句

static靜態

修飾:成員屬性、方法、**塊

static成員屬性

靜態變數,全域性變數

static成員**塊

用於初始化靜態變數

static成員方法

靜態方法

同一類中,在靜態方法中只能呼叫成員變數、方法

static成員**塊

用於初始化靜態變數

方法過載

為什麼要過載?同乙個物件,做同一件事,條件不同,結果也不同

在同一類中,方法名相同,獨一無二的引數列表(數量、型別、順序、意義),與訪問修飾符和返回值型別無關,方法體不同

繼承1具有單根性,乙個類只能有乙個父類,

2乙個類可以被多個類繼承

3可以有多層繼承,a被b繼承,b被c繼承

4子類繼承父類所有的成員變數和成員方法。除(private)

5子類可以繼承父類的方法,並且可以重寫父類的方法。

6父類建構函式不能被繼承。可以使用super呼叫父類的建構函式。

7.如果子類的構造方法中沒有顯式地呼叫父類構造方法,也沒有用this 關鍵字,則在產生子類的例項物件時,系統預設呼叫父類無引數的構造方法。

super、this

在子類中,this代表當前子類物件,super代表父類物件

抽象類 非完全抽象

abstract

不具體的類,不能例項化

作用:讓子類繼承

抽象方法

不具體的方法,沒有方法體

讓子類來實現方法體

final 最終的

修飾:變數、方法、類

final 變數:常量,只能賦值一次

final int i=6; 值不能變

final son son=new son();

son 不能指向別的物件 但son.name="asd";物件的屬性值可變

final 方法:不能被重寫的

final 類:不能被繼承的

重寫位置:父子類中

方法名、引數列表、返回值型別相同

訪問修飾符不能比父類更嚴格

方法體不同

位置訪問修飾符

返回值型別

方法名引數列表

方法體方法過載

同一類中

無關無關

相同獨一無二

不同方法重寫

父子類中

必能比父類更嚴格

相同相同

相同不同

值型別 8個基本型別

儲存是值本身

int i=8;

引用型別 class定義引用

儲存是的物件在堆中的位址

使用父類型別指向子類物件

引用內容為子類繼承父類的屬性和方法

無法引用到子類獨有屬性和方法

將父類引用轉換成子類引用

子類型別 物件名 =(子類型別)父類引用物件名

son s =(son) father;

多型國標 生產標準

指導生產

介面 抽象的

設計、規範、約定、擴充套件

物件導向特性 繼承

1 子類繼承父類的方法和字段 class computer 子類,膝上型電腦類 class notecomputer extends computer 2 不需要父類的字段和方法,那麼可以採用重寫的方法覆蓋掉父類的方法。class computer 子類,膝上型電腦類 class notecompu...

物件導向特性 多型

1 抽象類和方法 只在父類中宣告,在子類中實現,用abstract宣告。作用是給子類作規範。規則 抽象類不能例項化,只能被繼承 抽象方法必須被子類方法重寫。建立 abstract class computer 抽象類裡面的抽象方法必須在子類裡面重寫,不然會報錯。abstract class comp...

PHP物件導向特性

1.類的屬性 成員變數 屬性宣告是由關鍵字 public,protected 或者 private 開頭,然後跟乙個普通的變數宣告來組成。其中public在物件中可以直接訪問,其他不可以。屬性宣告 該類子類 public protected private 2.static靜態屬性 宣告類屬性或方法...