C#之里式轉(zhuǎn)換原則

面向?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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自:http://blog.csdn.net/jackfrued/article/details/4492194...
    王帥199207閱讀 8,795評論 3 93
  • categories: Interviewdescription: 本文收集了一些經(jīng)典的Java面試題 1、面向?qū)?..
    我是阿喵醬閱讀 88,450評論 0 86
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,621評論 1 32
  • 文/樊榮強(qiáng) 就一個(gè)人來講,如果論一生,思考的起點(diǎn)大約是我們剛出生的時(shí)候,至少是他用肢體語言表達(dá)他的欲求與情緒的時(shí)候...
    樊榮強(qiáng)閱讀 780評論 0 4
  • 等一次 時(shí)間的鐘擺 不是在搖晃 而在后九點(diǎn)半鐘 茫茫糊糊 朦朧不定 以為的幾句眷戀 在時(shí)是過 是過不停 卻沒有了曾...
    玖木z閱讀 172評論 0 2

友情鏈接更多精彩內(nèi)容