• 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.
    --===------------------------------------------===---
    */


  • 相关阅读:
    ios ASI 断点下载
    ios 视频播放器MPMoviePlayerController
    ios SDWebImage 图片加载显示菊花
    ios简单的音频播放
    学iOS开发(一)——实现一款App之Foundation框架的使用
    学iOS开发(二)——实现一款App之编写自定义类
    蓝欧ios培训视频
    ios开发教程地址
    day15_雷神_前端03
    day14_雷神_前端02
  • 原文地址:https://www.cnblogs.com/flaaash/p/1044760.html
Copyright © 2020-2023  润新知