---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
抽象类
抽象类与接口主要都是为了实现多态,使用abstract关键字可以创建仅用于继承用途的类和成员。对于接口,从定义就可以发现是对方法的抽象,也可描述成对能力的抽象;而抽象类是 对以事物的抽象,与具体的对象有关。
抽象类的成员与一般类无异,只不过一般定义成抽象的,给派生类重写,从而实现多态,一般定义的抽象成员有方法,事件,属性,索引器。抽象类的构造函数主要是为了对非抽象成员的初始化”抽象类是不能实例化的“,派生类会默认调用父类的无参构造函数,因此其也不能是私有的。例子:
delegate void MyDelegate();
abstract class MyClass
{
public abstract void Func();//抽象成员必须是公共的
public abstract string AttriBute
{
get;//可以只有一个访问器
set;
}
public abstract string this[int num]
{
get;//与属性类似
set;
}
public abstract event MyDelegate BaseEvent;
}
class MyClass1:MyClass
{
public override string AttriBute
{
get
{
return "123";
}
set
{
Console.WriteLine(value);
}
}
public override string this[int num]
{
get
{
return num.ToString();
}
set
{
Console.WriteLine(value);
}
}
public override void Func()
{
Console.WriteLine("123");
}
public overrid