前言
听过很多的抽象具体,之前的自考懂不懂的就是抽象。今天可以明白点了。嘻嘻!!!
内容
抽象方法:abstract修饰的方法,只需要声明而不需要实现。
先来个例子感觉感觉吧!
public abstract class Person //父类是抽象类
{
private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
private char _gender;
public char Gender
{
get { return _gender; }
set { _gender = value; }
}
private int _age;
public int Age
{
get { return _age; }
set { _age = value; }
}
public abstract void Say(); //抽象方法没有方法体
public void Sleep()
{
Console.WriteLine("可以睡觉了!!");
}
}
public class Teacher :Person //子类继承父类
{
public override void Say()
{
Console.WriteLine("上课了!!"); //重写的方法来实现父类中的抽象方法。
}
}
在抽象类中的抽象方法,因为他抽象所以不能具体实现什么了,需要再用别的不是抽象的类中的方法来具体实现他。
父类中用abstract修饰的抽象方法,子类必须用override修饰的方法重写。
注意:
- 抽象方法必须在抽象类中,抽象类可以由非抽象成员。
- 抽象方法没有方法体,不能实例化 也不能点儿出来。
- 子类必须重写抽象父类中的抽象方法。
总结
多实践,多找联系!
虚方法与抽象方法的比较: