1、封裝
和許可權修飾符有關
2、繼承
extends
3、多型
你們怎去理解多型的呢?
多型:多種形態
變數的引用形式:
(1)本態引用:左邊的變數與右邊的物件是同一種型別
(2)多型引用:左邊的變數是父類型別,右邊的物件是子類的物件
多型的表現出來的特徵:編譯型別與執行時型別不一致
編譯的時候,按照父類的型別進行編譯的
執行的方法,按照子類進行執行,是「執行子類重寫的方法」
編譯看左邊,執行看右邊
/*
* 一、物件導向的基本特徵:
* 1、封裝
* 和許可權修飾符有關
* 2、繼承
* extends
* 3、多型
* * 二、多型
* 多型:多種形態
* * 變數的引用形式:
* (1)本態引用:左邊的變數與右邊的物件是同一種型別
* (2)多型引用:左邊的變數是父類型別,右邊的物件是子類的物件
* * 多型的表現出來的特徵:編譯型別與執行時型別不一致
* 編譯的時候,按照父類的型別進行編譯的
* 執行的方法,按照子類進行執行,是「執行子類重寫的方法」
* * 編譯看左邊,執行看右邊
* * 前提:(1)繼承(2)重寫(3)多型引用
* 用途:方法的動態繫結
* 強調:多型和屬性無關,只說方法
* * 網上也有人這麼說,把過載也歸為多型,我們不這麼認為
* */
package com.atguigu.test02.polymorphism;
public
class
testpolymorphism
}class
person
public
void
walk()
}class
woman
extends
person
public
void
walk()
public
void
shop()
}class
manextends
person
public
void
walk()
public
void
smoke()
}
多型的好處:
使得程式設計師編寫**更靈活
多型的應用:
陣列的元素是父類的型別,實際儲存的是子類的物件
用這樣的陣列,就可以統一管理,所有子類的物件
看例項**
package com.atguigu.test02.polymorphism;
public
class
testuser1}}
//graphic圖形
class
graphic
}class
circle
extends
graphic
//重寫
public
double
getarea()
}class
rectangle
extends
graphic
//重寫
public
double
getarea()
}
執行結果如下
形參是父類的型別,實參是子類的物件
下面看**
/*
* 多型的應用:
* (1)多型陣列:
* 陣列的元素是父類的型別,實際儲存的是子類的物件
* (2)多型引數:
* 形參是父類的型別,實參是子類的物件
*/package com.atguigu.test02.polymorphism;
public
class
testuse2
public static void check(cat cat )*/
public
static
void
check
(animal a)
public
static
void
main
(string[
] args)
}class
animal
}class
dogextends
animal
}class
catextends
animal
}
練習題
/*
1、練習題
(1)宣告traffic,
public void drive()方法
(2)宣告子類car,bicycle,甚至可以宣告car的各種子類,例如bmw,benz類等
(3)在測試類的main中建立乙個陣列,有各種交通工具,遍歷呼叫drive()方法
*/package com.atguigu.test02.polymorphism;
public
class
test練習1}}
class
traffic
}class
carextends
traffic
}class
bicycle
extends
traffic
}
物件導向基本特徵
通過學習設計模式對物件導向程式設計有了更深層次的了解。在 大話設計模式 一書中的第乙個設計模式裡 簡單工廠模式 體會到了自己學習物件導向程式設計時的歷程。首先要保證 無錯,我想這是大部分初學者的心願。其次就是 規範,這一點是很重要的,程式不僅僅是寫給自己看的,更需要讓別人能看懂。別人能看懂還不行,畢...
物件導向基本特徵
物件導向4大基本特徵 抽象 封裝 繼承 多型。抽象。將一些事物的共性抽離出來歸為乙個類。如對於動物,具有生命體徵 活動能力等區別於其它事物的共同特徵 封裝。有選擇地隱藏和暴露資料和方法。比如有u盤這個類,我希望隱藏內部組成和實現,只暴露usb介面以供使用 繼承。子類可以直接使用父類的部分資料和方法,...
物件導向的三個基本特徵 物件導向基本特徵
物件導向的三個基本特徵 封裝是物件和類概念的主要特徵,就是把客觀的封裝起來,只對外暴露出來,並把自己的資料和方法只讓可信的類或物件操作作用 隱藏實現細節,使得 模組化 使用現有類的所有功能,並且無需重新編寫原來的類中的方法對這些功能的擴充套件,oc只能實現單繼承,如果想要實現多繼承的話可以通過分類或...