首页 > 代码库 > 多态与接口
多态与接口
今天在云和学院学了多态和接口,今天总结的可能不是很准确。
多态——抽象类与抽象方法由abstract修饰
abstract的使用注意
–抽象方法没有方法体
–抽象成员只能存在于抽象类中
–抽象类可以有非抽象成员
–抽象类的派生类必须实现抽象方法体
–抽象类只能用作基类,无法实例化
用virtual修饰的方法叫做虚方法
虚方法可以在子类中通过override关键字来重写
虚方法抽象方法比较
namespace Abstract{ class chinese:person { public override void sayhi() { Console.WriteLine(); } }}abstract class person { public string name { set; get; } public void sayhello() { } abstract public void sayhi(); }
virtual实例:
enum Gender { 雌 = 1, 雄 = 2 } class Bird { public virtual string Berk() { return "鸟鸣"; } public string BName { set; get; } public Gender BGender { set; get; } public string Color { set; get; } public string Category { set; get; } public string Fly() { return "我会飞"; } public string Eat() { return "吃饭"; } public string Sleep() { return "睡觉"; } public string Walk() { return "走路"; } } class Polly:Bird { public string WeiBa { set; get; } public string SayHi(string word) { return word; } public override string Berk() { return "我会学人说话"; } }class dayan:Bird { public override string Berk() { return "大雁南飞"; } }static void Main(string[] args) { Bird b = new Polly(); Console.WriteLine(b.Berk()); dayan yan = new dayan(); Console.WriteLine(yan.Berk()); Console.ReadKey(); }
接口:完全抽象的一种约定,接口就是用来实现的。
语法:
[访问修饰符] interface 接口名
{
// 接口成员定义
}
Interface IfFly
{
void IFly();
}
interface Ifly { void Fly(); }class Maque:Bird,Ifly { void Ifly.Fly() { Console.WriteLine("麻雀飞了"); } }class Program { static void Main(string[] args) { Ifly fly = new Maque(); fly.Fly(); Console.ReadKey(); } }
多态与接口
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。