首页 新闻 搜索 专区 学院

有没有 在子类构造函数之后执行的 基类方法

0
悬赏园豆:10 [已解决问题] 解决于 2019-08-28 13:48

如:

    public class Base
    {
        public Base()
        {
            Console.WriteLine("Hello Base");
        }

        //在基类有什么方法是在执行完子类的构造方法后执行的。
        //或只修改基类的代码,让输出结果调换
    }

    public class Sub : Base
    {
        public Sub()
        {
            Console.WriteLine("Hello Sub");
        }

        static void Main(string[] args)
        {
            new Sub();
            Console.Read();
        }
    }

 


结果是

 

问:有什么方法,能执行子类的构造方法之后,再执行基类的方法?

或问:或只修改基类的代码,让输出结果调换?变成

Hello Sub

Hello Base

又或者:现在的情况是,有很多的子类都继承了同一个基类,想在子类的构造方法之后都执行同一个方法,如果都改子类工作量很大,能不能通过改基类,或有什么方法不用在所有的子类都尽管动?

cppwen的主页 cppwen | 初学一级 | 园豆:55
提问于:2016-01-18 15:32
< >
分享
最佳答案
0

语法上没有.

收获园豆:10
吴瑞祥 | 高人七级 |园豆:28831 | 2016-01-18 15:42

好像是没有

cppwen | 园豆:55 (初学一级) | 2016-01-18 15:46
其他回答(1)
0
    public class Base
    {
        public void Test()
        {
            Console.WriteLine("Hello Base");
        }
    }

    public class Sub : Base
    {
        public Sub()
        {
            Console.WriteLine("Hello Sub");
            base.Test();
        }
    }

 

那你在父类中新建一个实例方法,在子类中的构造函数中最后调用父类的实例方法

MrNice | 园豆:3019 (老鸟四级) | 2016-01-18 16:42

这个是一个方法,不过也是要修改子类的。这个工作量还是很大,因为有太多的子类了。能不能做到不修改子类呢?

支持(0) 反对(0) cppwen | 园豆:55 (初学一级) | 2016-01-18 16:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册