静态类,抽象类,密封类

静态类

定义:添加static字段后,变为静态类,如:public static class Test

特点:

1 : 不能被实例化。

2 : 仅包含常量和静态成员。

3 : 不能被继承。

4 : 不能包含实例构造函数,可以包含静态构造函数。

5 : 静态构造函数不能被调用

代码如下:


using UnityEngine;

public static  class Test1
{
    static Test1()
    {
        Debug.Log("静态函数的静态构造函数执行");
        a = 10 ;
    }
    public static int a;
    public static int b = 10;
}
public class Test2
{
    
}
public class Test : MonoBehaviour
{
    private  int b = Test1.a;
    public int c = Test1.b;
    private void Start()
    {
        Debug.Log("b的值为"+b);
        Debug.Log("c的值为" + c);
    }
}

静态函数也是可以直接调用里面的变量,在调用变量的时候执行构造函数,并且执行一次

结果:


 抽象类

定义:添加abstract字段后,变为抽象类,如:public abstract class Test

特点:

1  不能被实例化,但支持构造函数。

2  可只提供部分函数实现,也可只声明抽象类。

3  抽象类可以继承抽象类,也可以继承普通类,同样也可以把做基类派生普通类

4  静态构造函数只执行一次,其他构造函数根据实例化的个数来进行执行

5 抽象类里定义抽象函数,不能有函数主体,要在子类写函数主体(抽象函数只能在抽象类里面)

代码如下:


using UnityEngine;

public abstract  class Test1
{
    public abstract void Show();
    
}
public class Test2 : Test1
{
    public override void Show()
    {
        Debug.Log("抽象函数实现");
    }
}
public class Test : MonoBehaviour
{
    public Test2 test2 = new Test2();
    private void Start()
    {
        test2.Show();
    }
}

实现结果如下:


密封类

定义:添加sealed字段后,变为密封类,如:public sealed class Test

特点:

1 不能被继承,但是可以继承其他的类或者接口(接口后面学习时会写)

2 密封类里面的类不能声明为sealed

密封类的作用是用来限制扩展性。具体的用法会进行深入了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值