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

首頁 > 學院 > 開發設計 > 正文

asp.net中virtual和abstract的區別

2019-11-17 01:49:27
字體:
來源:轉載
供稿:網友
asp.net中virtual和abstract的區別

一、Virtual方法(虛方法)

virtual 關鍵字用于在基類中修飾方法。virtual的使用會有兩種情況:情況1:在基類中定義了virtual方法,但在派生類中沒有重寫該虛方法。那么在對派生類實例的調用中,該虛方法使用的是基類定義的方法。情況2:在基類中定義了virtual方法,然后在派生類中使用override重寫該方法。那么在對派生類實例的調用中,該虛方法使用的是派生重寫的方法。

當一個方法被聲明為Virtual時,它是一個虛擬方法,直到你使用ClassName variable = new ClassName();聲明一個類的實例之前,它都不存在于真實的內存空間中。這個關鍵字在類的繼承中非常常用,用來提供類方法的多態性支持。

二、Abstract方法(抽象方法)abstract關鍵字只能用在抽象類中修飾方法,并且沒有具體的實現。抽象方法的實現必須在派生類中使用override關鍵字來實現。

抽象方法聲明使用,是必須被派生類覆寫的方法,抽象類就是用來被繼承的;可以看成是沒有實現體的虛方法;如果類中包含抽象方法,那么類就必須定義為抽象類,不論是否還包含其他一般方法;抽象類不能有實體的。

三、多態

C#中多態的實現分為了兩種,一種是編譯時多態,一種是運行時多態

|- 編譯時多態 通過一個類中多個方法的重載來實現的多態,系統在編譯的時候,根據傳遞的參數確定具體調用哪個重載的方法;

|- 運行時多態 通過virtual函數(虛函數)、抽象方法實現的多態,派生類去override虛函數或抽象方法,從而實現運行時多態.

四、abstract的用法

C# 代碼 復制
using System;
using System.Collections.Generic;
using System.Text;
namespace Consoleapplication3
{    public abstract class Book    {        //抽象方法,不含主體,抽象方法所在類必須為抽象類,派生類必須實現該方法        public abstract void Introduce();    }    public class javaBook : Book    {        //實現抽象方法,必須實現,注意!必須添加override關鍵字        public override void Introduce()        {            Console.WriteLine("I'm Java");        }    }    public class test    {        public test()        {            JavaBook javaBook = new JavaBook();            javaBook.Introduce();      //將調用JavaBook中Introduce()            Book book = new JavaBook();            book.Introduce();      //將調用JavaBook中Introduce()        }        public static void Main()        {            test t = new test();        }    }}

五、virtual的用法以及override的用法

C# 代碼 復制
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication2
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 铜梁县| 塔河县| 乌海市| 武宁县| 建始县| 谷城县| 武汉市| 延长县| 湘潭市| 通海县| 安远县| 武山县| 新郑市| 喀喇| 宾川县| 孝昌县| 岢岚县| 邵武市| 屏边| 宁晋县| 永仁县| 雷州市| 清水县| 安福县| 互助| 虎林市| 奇台县| 天峨县| 广河县| 崇州市| 英吉沙县| 黔东| 南澳县| 大英县| 林芝县| 扬中市| 丰镇市| 九寨沟县| 泽普县| 庆城县| 棋牌|