首页新闻找找看学习计划

关于实体类继承抽象类

0
[已解决问题] 解决于 2013-10-31 14:34


抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。这句话怎么理解,谢谢大牛给出举例。

南瓜asp的主页 南瓜asp | 菜鸟二级 | 园豆:213
提问于:2013-10-28 19:57
< >
分享
最佳答案
0

问题是没错的,就是问抽象类继承实体类。在继承类的情况下,子类是抽象类还是实体类没有什么区别,都需要父类有一个构造函数可供子类访问。其实后面那段话的意义不大,对所有类都通用。

奖励园豆:5
林J | 菜鸟二级 |园豆:202 | 2013-10-30 11:19

为什么要有一个可供子类访问的构造函数呢?因为子类在实例化的时候,必定要调用一次父类的构造函数,假如你没在子类构造函数后面写base语句,那会默认调用父类的无参构造函数,像一楼那种情况,其实相当于这个

 public class t
    {
        //若类未定义任何构造函数 系统会自动生成一个无参构造函数
        public t()
        {
            
        }
    }

    public abstract class c : t
    {
        //若类未定义任何构造函数 系统会自动生成一个无参构造函数 
        public c():base()//未指定base的情况下 子类默认调用base()
        {
            
        }
    }

 

林J | 园豆:202 (菜鸟二级) | 2013-10-30 11:24

@林J: 感谢您的回答。我已经弄明白了,谢谢。

南瓜asp | 园豆:213 (菜鸟二级) | 2013-10-31 14:34
其他回答(1)
0

不知道,但楼上的代码给的不全.如下:

public class t
    {

    public t(){} //这就是明确的构造函数,你在编译器下试一下就知道呀
    }

    public abstract class c : t
    {

    }

空明流光 | 园豆:48 (初学一级) | 2013-10-29 09:54

这句话我觉得是有问题的,应该是实体类继承抽象类是否可行,答案是要看抽象类中有没有明确的构造函数,因为子类无法base上去了。应该是这样的

支持(0) 反对(0) 南瓜asp | 园豆:213 (菜鸟二级) | 2013-10-29 14:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册