zoukankan      html  css  js  c++  java
  • C#抽象类可以有构造方法吗,若是有如何实现及调用?

    抽象类可以有构造函数吗?--可以有,若是不写,提供默认protected级别构造.
    如果有,其带参构造和无参构造什么时候,怎样调用?--无参构造自动调用,带餐构造必须显式调用,和是否抽象类无关.
    /*--===------------------------------------------===---
    作者:许明会
    日期:2008年1月18日 16:33:57
    目的:抽象类中可以有构造函数吗? 如何调用?

    若希望类能够有派生类,必须为其实现默认构造函数.
    若类没有实现带餐构造,编译器将自动创建默认构造函数.
    若类实现了带参构造,则编译器不会自动生成默认构造.

    子类实例化时(不管是否为带参构造):
        只会调用所有父类的无参构造函数
        带参构造必须通过显式去调用.
    --===------------------------------------------===---
    */

    using System;

    namespace xumh
    {
        
    public abstract class myClass
        
    {
            
    //总会被调用,否则无法创建带参构造
            public myClass()
            
    {
                Console.WriteLine(
    "抽象类中的无参构造函数.");
            }

            
    //只可以显式调用
            public myClass(int a, int b)
            
    {
                Console.WriteLine(
    "抽象类中的带参构造函数:{0},{1}.",a,b);
            }

        }

        
        
    public class test : myClass
        
    {
            
    public test()
            
    {
                Console.WriteLine(
    "派生类中的无参构造函数.");
            }

            
    public test(int a, int b)//:base(a,b)//显式调用
            {
                Console.WriteLine(
    "派生类中的带参构造函数:{0},{1}.",a,b);
            }

        }


        
    public class runMyApp
        
    {
            
    static void Main()
            
    {
                test t1 
    = new test();
                test t2 
    = new test(1,2);
            }

        }

    }

    /*--===------------------------------------------===---
    输出信息如下:
    抽象类中的无参构造函数.
    派生类中的无参构造函数.
    抽象类中的无参构造函数.
    派生类中的带参构造函数:1,2.
    --===------------------------------------------===---
    */


  • 相关阅读:
    [转]ion-slide-box
    [转]Ionic 实现双击返回键退出功能
    [转]highcharts图表入门之:如何让highcharts图表自适应浏览器窗体的大小或者页面大小
    [转]ionic Accordion list three levels
    [转]ionic $state.go passed $stateParams
    [转]ionic tab view hide tab bar
    [转]Ionic + AngularJS angular-translate 国际化本地化解决方案
    [转]Ionic Datepicker
    [转]通过AngularJS directive对bootstrap日期控件的的简单包装
    [转]轻松学习Ionic (四) 修改应用图标及添加启动画面(更新官方命令行工具自动生成)
  • 原文地址:https://www.cnblogs.com/flaaash/p/1044760.html
Copyright © 2011-2022 走看看