类的构造函数

本文深入解析构造函数的概念,包括无参数、有参数及静态构造函数,阐述它们在类实例化过程中的作用,以及在继承关系中构造函数的调用顺序。

构造函数是在实例化对象时自动调用的特殊函数,必须与所属的类名同名,不能有返回类型。用于初始化字段的值。

目前我见到的构造函数  按照有无参数分为 有参数的构造函数和无参数的构造函数,但是还有一种是  静态构造函数,就不知道如何划分了。

所有的类都是继承object类的,所以如果没有写构造函数,默认的构造函数就是object类的无参数构造函数。如果指定了无参数构造函数,那无参数构造函数就是该类的默认构造函数。

尝试代码如下:

public class A
    {
        public A()
        {
            Console.WriteLine("A()");
        }

        public A(int a,int b)
        {
            Console.WriteLine("A(int a,int b)");
        }
    }

    public class B:A
    {
        public static string s;
        public B()
        {
            Console.WriteLine("B()");
        }

        public B(int a, int b)
        {
            Console.WriteLine("B(int a,int b)");
        }
    }

    public class C:B 
    {
        public C()
        {
            Console.WriteLine("C()");
        }

        public C(int a, int b):base(a,b)
        {
            Console.WriteLine("C(int a,int b)");
        }
    }
class Program
    {
        static void Main(string[] args)
        {
            C c = new C(7, 8);
            Console.ReadKey();
        }
    }

执行子类的构造函数先调用父类的构造函数。

1、上述执行函数顺序:A() =》B(int a,int b)=》C(int a, int b)   C类的有参数构造函数基于父类B的有参数构造函数,base(a,b)。

2、public C(int a, int b):base(a,b) 换成public C(int a, int b)   执行函数顺序:A() =》B()=》C(int a, int b)  C类的有参数构造函数 不是基于父类B的 有参数构造函数,因此父类构造函数调用的是无参数的。

3、若B类只有 有参数构造函数,则C类 也只能有  有参数构造函数 并且是基于B类的,具体见下:

public class A
    {
        public A()
        {
            Console.WriteLine("A()");
        }

        public A(int a,int b)
        {
            Console.WriteLine("A(int a,int b)");
        }
    }

    public class B:A
    {
        public static string s;
        //public B()
        //{
        //    Console.WriteLine("B()");
        //}

        public B(int a, int b)
        {
            Console.WriteLine("B(int a,int b)");
        }
    }

    public class C:B 
    {
        //public C()
        //{
        //    Console.WriteLine("C()");
        //}

        public C(int a, int b)
            : base(a, b)
        {
            Console.WriteLine("C(int a,int b)");
        }
    }
View Code

执行函数顺序:A() =》B(int a,int b)=》C(int a, int b)

4.静态构造函数 是第一次执行这个类是执行的函数。

 

本人目前对类的构造函数的认识只有这么多,以后认识更多再重新整理。

转载于:https://www.cnblogs.com/see-you/p/3958420.html

该数据集通过合成方式模拟了多种发动机在运行过程中的传感器监测数据,旨在构建一个用于机械系统故障检测的基准资源,特别适用于汽车领域的诊断分析。数据按固定时间间隔采集,涵盖了发动机性能指标、异常状态以及工作模式等多维度信息。 时间戳:数据型为日期时间,记录了每个数据点的采集时刻。序列起始于2024年12月24日10:00,并以5分钟为间隔持续生成,体现了对发动机运行状态的连续监测。 温度(摄氏度):以浮点数形式记录发动机的温度读数。其数值范围通常处于60至120摄氏度之间,反映了发动机在常规工况下的典型温度区间。 转速(转/分钟):以浮点数表示发动机曲轴的旋转速度。该参数在1000至4000转/分钟的范围内随机生成,符合多数发动机在正常运转时的转速特征。 燃油效率(公里/升):浮点型变量,用于衡量发动机的燃料利用效能,即每升燃料所能支持的行驶里程。其取值范围设定在15至30公里/升之间。 振动_X、振动_Y、振动_Z:这三个浮点数列分别记录了发动机在三维空间坐标系中各轴向的振动强度。测量值标准化至0到1的标度,较高的数值通常暗示存在异常振动,可能与潜在的机械故障相关。 扭矩(牛·米):以浮点数表征发动机输出的旋转力矩,数值区间为50至200牛·米,体现了发动机的负载能力。 功率输出(千瓦):浮点型变量,描述发动机单位时间内做功的速率,取值范围为20至100千瓦。 故障状态:整型分变量,用于标识发动机的异常程度,共分为四个等级:0代表正常状态,1表示轻微故障,2对应中等故障,3指示严重故障。该列作为分任务的目标变量,支持基于传感器数据预测故障等级。 运行模式:字符串型变量,描述发动机当前的工作状态,主要包括:怠速(发动机运转但无负载)、巡航(发动机在常规负载下平稳运行)、重载(发动机承受高负荷或高压工况)。 数据集整体包含1000条记录,每条记录对应特定时刻的发动机性能快照。其中故障状态涵盖从正常到严重故障的四级分,有助于训练模型实现故障预测与诊断。所有数据均为合成生成,旨在模拟真实的发动机性能变化与典型故障场景,所包含的温度、转速、燃油效率、振动、扭矩及功率输出等关键传感指标,均为影响发动机故障判定的重要因素。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值