C#学习系列之抽象类和抽象方法
啰嗦
学习基础
抽象方法
abstract public void Func();
在基类中如果使用abstract,不能有函数体,那么必须在派生类要用override进行重写。用虚方法可不用重写。因为没有函数体,必须重写。
- 抽象成员:方法、属性、事件、索引。
- 必须用abstract修饰符标记
- 不能有实现代码块
抽象类
- 抽象类的存在只有一个目的,被继承。
- 抽象类不能被实例化,用abstract修饰。
- 抽象类可以包含抽象成员和普通成员,以及任意组合。
- 抽象类的抽象成员在派生类中需要用override关键字实现。
使用
csharp
class pet
{
public pet(string name)
{
_name = name;
}
protected string _name;
abstract public void speak();//没有函数体
}
class dog:pet
{
public dog(string name):base(name)
{
}
override public void speak()//重写
{
Console.WriteLine("");
}
}
class cat : pet
{
override public void speak();//重写基类的虚方法
}
总结
学习记录