C#關於介面到基類到子類繼承到方法實現的示例
阿新 • • 發佈:2018-12-21
介面(interface)–>基類–>子類繼承–>方法實現;程式碼如下:
class Program
{
static void Main(string[] args)
{
Yasuo yasuo01 = new Yasuo();
yasuo01.SkillQ();
yasuo01.SkillR();
Console.ReadKey();
}
}
//介面只用來宣告,不用來實現,前面一般預設加I
//interface 介面名{void 方法名}
//定義一個介面類
interface IHero
{
void SkillQ();
void SkillW();
void SkillE();
void SkillR();
void SkillT();
}
//定義一個基類,用來提取重複的程式碼段
public class BaseHero : IHero
{
//實現介面方法
public virtual void SkillE ()
{
Console.WriteLine("E技能被按下");
}
public virtual void SkillQ()
{
Console.WriteLine("Q技能被按下");
}
public virtual void SkillR()
{
Console.WriteLine("R技能被按下");
}
public virtual void SkillT()
{
Console.WriteLine("T技能被按下");
}
public virtual void SkillW()
{
Console.WriteLine("W技能被按下");
}
}
//繼承
public class Yasuo : BaseHero
{
public override void SkillQ()
{
base.SkillQ();//這個Base指的是其父類
Console.WriteLine("亞索釋放Q技能:斬鋼閃");
}
public override void SkillW()
{
base.SkillW();
Console.WriteLine("亞索釋放W技能:風之障壁");
}
public override void SkillE()
{
base.SkillE();
Console.WriteLine("亞索釋放E技能:踏前斬");
}
public override void SkillR()
{
base.SkillR();
Console.WriteLine("亞索釋放R技能:狂風絕息斬");
}
public override void SkillT()
{
base.SkillT();
Console.WriteLine("亞索被動技能:浪客之道");
}
}
程式碼執行如上。(順便在這裡給大家推薦一下昨天剛下載的一個非常好用的截圖軟體SETNUA,Win10系統需要調整一下相容,不然會有Bug)