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

首頁 > 編程 > C# > 正文

C# 函數覆蓋總結學習(推薦)

2019-10-29 21:28:01
字體:
來源:轉載
供稿:網友
下面小編就為大家帶來一篇C# 函數覆蓋總結學習(推薦)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
 

覆蓋類成員:通過new關鍵字修飾虛函數表示覆蓋該虛函數。

一個虛函數被覆蓋后,任何父類變量都不能訪問該虛函數的具體實現。

public virtual void IntroduceMyself(){...}//父類虛函數

public new void IntroduceMyself(){...}//子類覆蓋父類虛函數

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MethodOverrideByNew{  public enum Genders {     Female=0,    Male=1  }  public class Person {    protected string _name;    protected int _age;    protected Genders _gender;    /// <summary>    /// 父類構造函數    /// </summary>    public Person() {      this._name = "DefaultName";      this._age = 23;      this._gender = Genders.Male;    }    /// <summary>    /// 定義虛函數IntroduceMyself()    /// </summary>    public virtual void IntroduceMyself() {      System.Console.WriteLine("Person.IntroduceMyself()");    }    /// <summary>    /// 定義虛函數PrintName()    /// </summary>    public virtual void PrintName() {      System.Console.WriteLine("Person.PrintName()");    }  }  public class ChinesePerson :Person{    /// <summary>    /// 子類構造函數,指明從父類無參構造函數調用起    /// </summary>    public ChinesePerson() :base(){      this._name = "DefaultChineseName";    }    /// <summary>    /// 覆蓋父類方法IntroduceMyself,使用new關鍵字修飾虛函數    /// </summary>    public new void IntroduceMyself() {      System.Console.WriteLine("ChinesePerson.IntroduceMyself()");    }    /// <summary>    /// 重載父類方法PrintName,使用override關鍵字修飾虛函數    /// </summary>    public override void PrintName(){      System.Console.WriteLine("ChinesePerson.PrintName()");          }  }  class Program  {    static void Main(string[] args)    {      //定義兩個對象,一個父類對象,一個子類對象      Person aPerson = new ChinesePerson();      ChinesePerson cnPerson = new ChinesePerson();      //調用覆蓋的方法,父類對象不能調用子類覆蓋過的方法,只能調用自身的虛函數方法      aPerson.IntroduceMyself();         cnPerson.IntroduceMyself();      //調用重載方法,父類對象和子類對象都可以調用子類重載過后的方法      aPerson.PrintName();      cnPerson.PrintName();      System.Console.ReadLine();    }  }}

結果:

Person.IntroduceMyself()

ChinesePerson.IntroduceMyself()

ChinesePerson.PrintName()

ChinesePerson.PrintName()

以上這篇C# 函數覆蓋總結學習(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。



注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蚌埠市| 砀山县| 崇州市| 石河子市| 碌曲县| 瑞金市| 巴彦淖尔市| 两当县| 余姚市| 新民市| 邹平县| 股票| 兴国县| 铜山县| 闵行区| 慈溪市| 绍兴市| 平陆县| 名山县| 浏阳市| 绥芬河市| 准格尔旗| 泽库县| 安新县| 云安县| 原平市| 鄢陵县| 密云县| 顺昌县| 武隆县| 贡觉县| 彭水| 定日县| 晋江市| 汪清县| 金平| 甘泉县| 宜兰县| 互助| 石嘴山市| 卢湾区|