C#多型三種體現
阿新 • • 發佈:2019-02-10
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
* 多型三種體現
* 1.抽象類:abstract
* 2.虛方法:virtual
* 3.介面:interface
*/
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
Bird b = new Bird("小燕子");
b.Run();
b.Fly();
Console.ReadKey();
}
}
////虛方法
//class Animal
//{
// public virtual void Run()
// {
// Console.WriteLine("奔跑");
// }
//}
//class Bird : Animal
//{
// public override void Run()
// {
// base.Run();//呼叫父類
// Console.WriteLine("蹦著跑");
// }
//}
class Animal
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
public Animal(string name)
{
_name = name;
}
public virtual void Run()
{
Console.WriteLine("奔跑");
}
}
interface IPlan
{
void Fly();
}
class Bird : Animal, IPlan
{
public Bird(string name)
: base(name)
{
}
public override void Run()
{
base.Run();//呼叫父類
Console.WriteLine("{0}蹦著跑",this.Name);
}
public void Fly()
{
Console.WriteLine("我會飛了");
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/*
* 多型三種體現
* 1.抽象類:abstract
* 2.虛方法:virtual
* 3.介面:interface
*/
namespace ConsoleApplication11
{
class Program
{
static void Main(string[] args)
{
Bird b = new Bird("小燕子");
b.Run();
b.Fly();
Console.ReadKey();
}
}
////虛方法
//class Animal
//{
// public virtual void Run()
// {
// Console.WriteLine("奔跑");
// }
//}
//class Bird : Animal
//{
// public override void Run()
// {
// base.Run();//呼叫父類
// Console.WriteLine("蹦著跑");
// }
//}
class Animal
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
public Animal(string name)
{
_name = name;
}
public virtual void Run()
{
Console.WriteLine("奔跑");
}
}
interface IPlan
{
void Fly();
}
class Bird : Animal, IPlan
{
public Bird(string name)
: base(name)
{
}
public override void Run()
{
base.Run();//呼叫父類
Console.WriteLine("{0}蹦著跑",this.Name);
}
public void Fly()
{
Console.WriteLine("我會飛了");
}
}
}