虚函数
虚函数:由virtual,它允许在派生类中被重写,要重写方法,必须先声明为virtual
public class myclass
{
public virtual int myint()
{
函数体;
}
}
class myclass1:myclass
{
public override int myint()
{
函数体1;
}
}
抽象函数及抽象类
一、注意点:
1,C#中使用abstract关键字,将类和函数声明为抽象类或抽象函数。
2,抽象类不能实例化,抽象函数没有执行代码,必须在非抽象类中重写。
3,虽然抽象类也是虚拟的,但不适用virtual关键字,否则会报错。
4,如果类包含抽象函数,该类也将是抽象的,必须声明为抽象的。
5,在C++中抽象函数被描述为纯虚函数,而C#中并没有这类描述,仅使用抽象这一术语。
二、抽象函数的声明:
抽象类的定义如下
abstract class myAbstract
{
//变量的定义不适用abstract关键字
private int i;
//属性
public abstract int Count { get; set; }
//方法
public abstract string getName();
}
接口:
接口类:由interface声明,是特殊的抽象类,是方法、属性、事件和索引符的组合,沒有字段,其成员无执行方式,无构造函数,不允许进行运算符重载,接口和它的成员沒有任何访问修饰符,它总是公共的,不能声明为虚拟或静态,继承自接口的派生类必须实现接口中的所有方法
interface Imyinterface
{
void myfunction();
string name
{
get;
set;
}
}
class myclass:Imyinterface
{
void myfunction()
{
函数体;
}
string name
{
get
{
return name;
}
set
{
name=value;
}
}
}