C#基础巩固——成员函数(属性)的abstract、override、virtual关键字
2017-07-08 21:07
393 查看
virtual关键字:表示声明当前函数为虚函数。
虚函数在声明时必须显示声明virtual关键字,虚函数必须具有函数主体(与普通函数无差别)。虚函数在派生类中可以重写,也可以不重写。
public class MyBaseClass
{
//定义虚函数
public virtual string VirtualMethod()
{
return "this is virtual method";
}
}
public class MyDerivedClass:MyBaseClass
{
//重写虚函数(非必须)
public override string VirtualMethod()
{
return "1";
}
}
abstract关键字:表示当前函数为抽象函数。
抽象函数不能直接实现,不能具有函数主体,声明必须写在abstract声明的抽象类中。抽象函数本身也是虚函数,但是不能声明关键字virtual。抽象函数在派生类中必须重写。
public abstract class MyBaseClass
{
//定义抽象函数
public abstract string AbstractMethod();
}
public class MyDerivedClass:MyBaseClass
{
//重写抽象函数(必须)
public override string AbstractMethod()
{
return "1";
}
}
override关键字:表示对基类的函数进行重写。
重写关键字只能写在派生类中,并且仅能重写基类中使用virtual、abstract或override关键字声明的函数,函数名称必须与基类中对应函数的名称完全相同。重写函数在派生类中可以再次重写,也可以不重写。
public class Baseclass
{
public virtual string OverrideMethod()
{
return "0";
}
}
public abstract class MyBaseClass:Baseclass
{
//定义抽象函数
public abstract string AbstractMethod();
//定义虚函数
public virtual string VirtualMethod()
{
return "this is virtual method";
}
//定义override声明的函数
public override string OverrideMethod()
{
return "this is override method";
}
}
public class MyDerivedClass:MyBaseClass
{
//重写抽象函数(必须)
public override string AbstractMethod()
{
return "重写抽象函数";
}
//重写虚函数(非必须)
public override string VirtualMethod()
{
return "重写虚函数";
}
//重写override声明的函数(非必须)
public override string OverrideMethod()
{
return "重写重写函数";
}
}
虚函数在声明时必须显示声明virtual关键字,虚函数必须具有函数主体(与普通函数无差别)。虚函数在派生类中可以重写,也可以不重写。
public class MyBaseClass
{
//定义虚函数
public virtual string VirtualMethod()
{
return "this is virtual method";
}
}
public class MyDerivedClass:MyBaseClass
{
//重写虚函数(非必须)
public override string VirtualMethod()
{
return "1";
}
}
abstract关键字:表示当前函数为抽象函数。
抽象函数不能直接实现,不能具有函数主体,声明必须写在abstract声明的抽象类中。抽象函数本身也是虚函数,但是不能声明关键字virtual。抽象函数在派生类中必须重写。
public abstract class MyBaseClass
{
//定义抽象函数
public abstract string AbstractMethod();
}
public class MyDerivedClass:MyBaseClass
{
//重写抽象函数(必须)
public override string AbstractMethod()
{
return "1";
}
}
override关键字:表示对基类的函数进行重写。
重写关键字只能写在派生类中,并且仅能重写基类中使用virtual、abstract或override关键字声明的函数,函数名称必须与基类中对应函数的名称完全相同。重写函数在派生类中可以再次重写,也可以不重写。
public class Baseclass
{
public virtual string OverrideMethod()
{
return "0";
}
}
public abstract class MyBaseClass:Baseclass
{
//定义抽象函数
public abstract string AbstractMethod();
//定义虚函数
public virtual string VirtualMethod()
{
return "this is virtual method";
}
//定义override声明的函数
public override string OverrideMethod()
{
return "this is override method";
}
}
public class MyDerivedClass:MyBaseClass
{
//重写抽象函数(必须)
public override string AbstractMethod()
{
return "重写抽象函数";
}
//重写虚函数(非必须)
public override string VirtualMethod()
{
return "重写虚函数";
}
//重写override声明的函数(非必须)
public override string OverrideMethod()
{
return "重写重写函数";
}
}
相关文章推荐
- C#基础知识系列七(base、this、new、override、abstract、virtual、static)
- 转:C#继承之base,virtual,override,abstract,new,sealed关键字
- c# 继承 和 关键字:abstract,const,override,readonly,static,virtual,base,this
- C#继承之base,virtual,override,abstract,new,sealed关键字
- C#基础知识系列七(base、this、new、override、abstract、virtual、static)
- C#关键字abstract virtual interface new override
- C#.NET中new, override, virtual abstract关键字的区别
- C#多态;父类引用指向子类对象;new和override的区别;new、abstract、virtual、override,sealed关键字区别和使用代码示例;c#类的初始化顺序
- c#的new、abstract、virtual、override,sealed关键字区别
- C#基础知识五之abstract virtual关键字
- C#继承之base,virtual,override,abstract,new,sealed关键字
- C#的主要 关键字 new、sealed、partial、interface、virtual、abstract、this、base、override、return、break、continue...
- C#中的virtual,abstract,override和new关键字小结
- C# 关键字 abstract, virtual, override, sealed, new
- C#基础知识(base、this、new、override、abstract、virtual、static)
- C#基础知识系列七(base、this、new、override、abstract、virtual、static)
- new、abstract、virtual、override关键字的使用
- C#中的static,interface,virtual,abstract,override的用法
- C#关键字abstract virtual interface new override
- 对关键字abstract、new、virtual、override、sealed的温习笔记