一般讲述对象概念的书都会讲到这个问题。 我对这个概念的理解也很肤浅,说说我的理解吧。 首先抽象类不能被实例化,这就是不能有构造函数直接生成该类的实例。 其次抽象类包含抽象方法,也就是类的定义中只有改方法的声明而没有定义。 第三抽象类必须可以被继承,否则不能实例化也不被继承的类是没有意义的。继承的类中必须实现所有抽象方法。 举个例子,不能确定是否贴切(c#) 假设人只有两种男人和女人(其它人类不在考虑范围之内) public abstract class Person { protected bool male; public abstract bool IsMale(); } public abstract class Male: Person { public Male() { male = true; } public override bool IsMale() { return male; } } public abstract class Female: Person { public Female() { male = false; } public override bool IsMale() { return male; } } 不知道这能否说明问题,有什么不当之处还请指正。
我对这个概念的理解也很肤浅,说说我的理解吧。
首先抽象类不能被实例化,这就是不能有构造函数直接生成该类的实例。
其次抽象类包含抽象方法,也就是类的定义中只有改方法的声明而没有定义。
第三抽象类必须可以被继承,否则不能实例化也不被继承的类是没有意义的。继承的类中必须实现所有抽象方法。
举个例子,不能确定是否贴切(c#)
假设人只有两种男人和女人(其它人类不在考虑范围之内)
public abstract class Person
{
protected bool male;
public abstract bool IsMale();
} public abstract class Male: Person
{
public Male()
{
male = true;
} public override bool IsMale()
{
return male;
}
} public abstract class Female: Person
{
public Female()
{
male = false;
} public override bool IsMale()
{
return male;
}
}
不知道这能否说明问题,有什么不当之处还请指正。