面向?qū)ο罅笤瓌t
1.單一職責(zé)原則
2.開閉原則
3.里式轉(zhuǎn)換原則
4.依賴倒置原則
5.接口隔離原則
6.迪米特原則
里式轉(zhuǎn)換原則
定義:
1.子類對象可以直接賦值給父類變量
class A //父類
{
}
class B:A //子類
{
}
A a = new B();
//或者
A a;
B b = new B();
a = b;
a為父類變量,b/new B()創(chuàng)建的是子類對象,上面的代碼將子類對象賦值給父類變量
類比:這一點(diǎn)可以和Java中的上轉(zhuǎn)型對象進(jìn)行類比
2.子類對象可以調(diào)用父類中的成員,但是父類對象永遠(yuǎn)只能調(diào)用自己的成員。父類對象在調(diào)用方法時(shí),調(diào)用的是子類重寫后的方法,相當(dāng)于就是創(chuàng)建了一個(gè)子類對象,然后子類對象調(diào)用重寫的方法
類比:這一點(diǎn)也是和Java中的上轉(zhuǎn)型對象的相關(guān)知識相同
3.如果父類對象中裝的是子類對象,可以將這個(gè)父類對象強(qiáng)制轉(zhuǎn)換為子類對象
這時(shí)候就又可以調(diào)用子類的方法了
類比:Java中上轉(zhuǎn)型對象
is和as進(jìn)行類型轉(zhuǎn)換
is:如果轉(zhuǎn)換成功,返回true,失敗返回false
as:如果轉(zhuǎn)換成功,返回對應(yīng)的對象,失敗返回null