国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#引用訪問權限分析

2019-10-29 21:46:04
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C#引用訪問權限問題,對比C#與Java實例分析了C#在引入引用訪問權限特性之后的具體用法,具有一定的參考借鑒價值,需要的朋友可以參考下
 

本文實例分析了C#引用訪問權限問題。分享給大家供大家參考。具體分析如下:

同樣代碼表現的不同行為:
 
創建基類(Super)和派生類(Sub)每個類有一個字段field和一個公共方法getField,并且使用內聯的方式初始化為1,方法getField返回字段field。C#和Java代碼及運行結果如下

復制代碼代碼如下:
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代碼如下:
復制代碼代碼如下:
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代碼運行結果表現出了多態性,而C#的方法并沒有表現出多態性。更具體的說C#中對象sub并沒有調用自己實際類型Sub中的方法而是去調用父類的方法。
 
可能用慣了Java的童鞋,突然使用C#在一點上有些許不習慣,其實C#團隊在這里加入了一個概念,就是引用訪問權限,一個引用代表著他的訪問權限,Sub的引用僅能對Sub類型中自己的方法進行訪問。
 
當然C#的方法不是支持多態,只是使用虛方法來表現方法的多態性,可看下面的例子:
復制代碼代碼如下:
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();
        }
}


 
接下來我想說說我對C#引入引用訪問權限的看法。引入了引用訪問權限的C#比Java更加的強大了,也比Java多了一個新的特性,當然事情都是有兩個方面的,對引用那個訪問權限的引入也使C#更加復雜與不易。

 

希望本文所述對大家的C#程序設計有所幫助。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌恰县| 建平县| 五指山市| 六盘水市| 会昌县| 张家界市| 新余市| 沾化县| 花莲县| 夹江县| 嘉祥县| 万山特区| 哈巴河县| 交城县| 安徽省| 泌阳县| 德兴市| 沈阳市| 东宁县| 扶沟县| 清镇市| 静海县| 金塔县| 阳城县| 天水市| 广德县| 九龙县| 潼南县| 扬州市| 湟源县| 洪雅县| 杭锦后旗| 阜阳市| 新疆| 克东县| 墨脱县| 全椒县| 龙川县| 武安市| 上思县| 广州市|