最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#引用訪(fǎng)問(wèn)權(quán)限分析

 更新時(shí)間:2014年11月22日 10:19:58   投稿:shichen2014  
這篇文章主要介紹了C#引用訪(fǎng)問(wèn)權(quán)限問(wèn)題,對(duì)比C#與Java實(shí)例分析了C#在引入引用訪(fǎng)問(wèn)權(quán)限特性之后的具體用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例分析了C#引用訪(fǎng)問(wèn)權(quán)限問(wèn)題。分享給大家供大家參考。具體分析如下:

同樣代碼表現(xiàn)的不同行為:
 
創(chuàng)建基類(lèi)(Super)和派生類(lèi)(Sub)每個(gè)類(lèi)有一個(gè)字段field和一個(gè)公共方法getField,并且使用內(nèi)聯(lián)的方式初始化為1,方法getField返回字段field。C#和Java代碼及運(yùn)行結(jié)果如下

復(fù)制代碼 代碼如下:
class Super
{
        public int field = 0;
 
        public int getField()
        {
            return field;
        }
}

class Sub : Super
{
        public int field = 1;
 
        public int getField()
        {
            return field;
        }
}

class Program
{
        private static void Main(string[] args)
        {
            Super sup = new Sub();
            Console.WriteLine("sup.getField() result:" + sup.getField());
            Console.ReadKey();
        }
}


 
Java代碼如下:
復(fù)制代碼 代碼如下:
class Super {
    public int field = 0;
    public int getField() {
        return field;
    }
}
 
class Sub extends Super {
    public int field = 1;
    public int getField() {
        return field;
    }
}
 
public class polymorphicDefects {
    public static void main(String[] args) {
        Super sup = new Sub();
        System.out.println("sup.getField() result:" + sup.getField());
    }
}

 
Java代碼運(yùn)行結(jié)果表現(xiàn)出了多態(tài)性,而C#的方法并沒(méi)有表現(xiàn)出多態(tài)性。更具體的說(shuō)C#中對(duì)象sub并沒(méi)有調(diào)用自己實(shí)際類(lèi)型Sub中的方法而是去調(diào)用父類(lèi)的方法。
 
可能用慣了Java的童鞋,突然使用C#在一點(diǎn)上有些許不習(xí)慣,其實(shí)C#團(tuán)隊(duì)在這里加入了一個(gè)概念,就是引用訪(fǎng)問(wèn)權(quán)限,一個(gè)引用代表著他的訪(fǎng)問(wèn)權(quán)限,Sub的引用僅能對(duì)Sub類(lèi)型中自己的方法進(jìn)行訪(fǎng)問(wèn)。
 
當(dāng)然C#的方法不是支持多態(tài),只是使用虛方法來(lái)表現(xiàn)方法的多態(tài)性,可看下面的例子:
復(fù)制代碼 代碼如下:
class Super
{
        public int field = 0;
 
        public virtual int getField()
        {
            return field;
        }
}

class Sub : Super
{
        public int field = 1;
 
        public override int getField()
        {
            return field;
        }
}

class Program
{
        private static void Main(string[] args)
        {
            Super sup = new Sub();
            Console.WriteLine("sup.getField() result:" + sup.getField());
            Console.ReadKey();
        }
}


 
接下來(lái)我想說(shuō)說(shuō)我對(duì)C#引入引用訪(fǎng)問(wèn)權(quán)限的看法。引入了引用訪(fǎng)問(wèn)權(quán)限的C#比Java更加的強(qiáng)大了,也比Java多了一個(gè)新的特性,當(dāng)然事情都是有兩個(gè)方面的,對(duì)引用那個(gè)訪(fǎng)問(wèn)權(quán)限的引入也使C#更加復(fù)雜與不易。

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#實(shí)現(xiàn)人民幣大寫(xiě)轉(zhuǎn)換示例代碼

    C#實(shí)現(xiàn)人民幣大寫(xiě)轉(zhuǎn)換示例代碼

    這篇文章主要介紹了C#實(shí)現(xiàn)人民幣大寫(xiě)轉(zhuǎn)換,需要的朋友可以參考使用
    2013-12-12
  • c#冒泡排序示例分享

    c#冒泡排序示例分享

    這篇文章主要介紹了c#冒泡排序示例分享,需要的朋友可以參考下
    2014-02-02
  • C# 使用Microsoft Edge WebView2的相關(guān)總結(jié)

    C# 使用Microsoft Edge WebView2的相關(guān)總結(jié)

    這篇文章主要介紹了C# 使用Microsoft Edge WebView2的相關(guān)總結(jié),幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下
    2021-02-02
  • C#使用iTextSharp操作PDF

    C#使用iTextSharp操作PDF

    這篇文章介紹了C#使用iTextSharp操作PDF的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#線(xiàn)程池ThreadPool用法簡(jiǎn)介

    C#線(xiàn)程池ThreadPool用法簡(jiǎn)介

    這篇文章介紹了C#線(xiàn)程池ThreadPool的用法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • WPF實(shí)現(xiàn)曲線(xiàn)數(shù)據(jù)展示

    WPF實(shí)現(xiàn)曲線(xiàn)數(shù)據(jù)展示

    這篇文章將以動(dòng)數(shù)據(jù)分析為例為大家詳細(xì)介紹wpf實(shí)現(xiàn)曲線(xiàn)數(shù)據(jù)展示與函數(shù)曲線(xiàn)展示的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下
    2024-12-12
  • C#利用ASP.NET?Core開(kāi)發(fā)學(xué)生管理系統(tǒng)詳解

    C#利用ASP.NET?Core開(kāi)發(fā)學(xué)生管理系統(tǒng)詳解

    隨著技術(shù)的進(jìn)步,跨平臺(tái)開(kāi)發(fā)已經(jīng)成為了標(biāo)配,在此大背景下,ASP.NET?Core也應(yīng)運(yùn)而生。本文主要利用ASP.NET?Core開(kāi)發(fā)一個(gè)學(xué)生管理系統(tǒng),感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • 淺談C# async await 死鎖問(wèn)題總結(jié)

    淺談C# async await 死鎖問(wèn)題總結(jié)

    這篇文章主要介紹了淺談C# async await 死鎖問(wèn)題總結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • C#實(shí)現(xiàn)DevExpress本地化實(shí)例詳解

    C#實(shí)現(xiàn)DevExpress本地化實(shí)例詳解

    這篇文章主要介紹了C#實(shí)現(xiàn)DevExpress本地化,以實(shí)例形式較為詳細(xì)的分析了DevExpress本地化的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-08-08
  • C#加密在實(shí)際中的應(yīng)用

    C#加密在實(shí)際中的應(yīng)用

    在系統(tǒng)的管理員有著實(shí)際的應(yīng)用,對(duì)于一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)說(shuō),數(shù)據(jù)庫(kù)安全還是挺重要的,所以在存入到數(shù)據(jù)庫(kù)的密碼通常都是加密的
    2012-11-11

最新評(píng)論

高陵县| 息烽县| 屯昌县| 巫山县| 新宁县| 蓬安县| 元江| 阜阳市| 宁明县| 乐昌市| 七台河市| 呼伦贝尔市| 合水县| 南乐县| 临城县| 沅江市| 达尔| 四平市| 蒲江县| 梧州市| 临泽县| 石台县| 义马市| 通榆县| 玉环县| 华容县| 依安县| 阳西县| 横山县| 闵行区| 惠来县| 朔州市| 永修县| 醴陵市| 江城| 翼城县| 会昌县| 临湘市| 三门峡市| 浪卡子县| 靖边县|