抽象类具有的特点:
1,抽象类不能实例化。
2,抽象类可以包含抽象方法和抽象访问器。
3,不能用 sealed 修饰符修饰抽象类,因为这两个修饰符的含义是相反的。 采用 sealed 修饰符的类无法继承,而 abstract 修饰符要求对类进行继承。
4,从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实际实现。
5,抽象类是不能被New的
//可能不全面,可补充
以下是代码=================================================================
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public abstract class Abs
{
//抽象方法只能写在抽象类中
//抽象类是可以写普通方法的
//抽象类是可以写虚方法
public abstract void A();
public void B()
{
}
public virtual void C()
{
Debug.Log("抽象类的虚函数C");
}
}
//抽象类只能继承抽象类
public class CS2 : Abs
{
public override void A()
{
Debug.Log("实现抽象类的方法");
}
public override void C()//重写虚函数
{
base.C();
Debug.Log("我真帅");
}
}
public class GameManager_1 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
CS2 c = new CS2();
c.A();//实现抽象类的A方法
c.C();//重写抽象类C方法
}
// Update is called once per frame
void Update()
{
}
}
=====================================================================
效果