VR开发入门教程27:附加修饰符之抽象类
来源:
奇酷教育 发表于:
抽象的意义:描述抽象的概念,规定必须实现的方法的统一接口。抽象类用abstract关键字来修饰一个类时,该类叫做抽象类定义抽象类:abstract
抽象的意义:描述抽象的概念,规定必须实现的方法的统一接口。
抽象类
用abstract关键字来修饰一个类时,该类叫做抽象类
定义抽象类:abstract class AbstractClass{}
抽象类必须被继承。
抽象类不能被直接实例化。它只能作为其它类的基类,这一点与密封类(sealed类)正好相反。
用abstract来修饰一个方法时,该方法叫做抽象方法
abstract returnType AbstractMethod ( [paramlist] );
抽象方法必须被重写(override),抽象方法只有声明,不能有实现 没有方法体。定义了抽象方法的类必须是抽象类。
抽象类中的规定:
1、抽象类不能被直接实例化,只有它的非抽象子类可以创建对象
2、抽象类中不一定包含抽象方法,但有抽象方法的类必定是抽象类
3、抽象类中的抽象方法只是声明,不包含方法体,即不给出方法的实现
4、构造方法、类方法不能声明为抽象方法
5、抽象类的子类必须给出抽象类中的抽象方法的具体实现,除非该子类也是抽象类
6、抽象类中不一定全是抽象方法 可以有一部分具体实现
密封类
被sealed修饰的类被称为密封类。
定义密封类:sealed class SealedClass{}
特性:密封类不能被继承
被sealed修饰的方法被称为密封方法。
sealed override returnType SealedMethod([paramList])
{
}
特性:
1、密封方法会重写基类中的方法
2、密封方法无法被重写
注意:必须始终与override一起使用
被sealed修饰的属性被称为密封属性
sealed override returnType Property
{
set
{
}
get
{
}
}
特性:
1、密封属性会覆盖基类中的属性
2、密封属性无法被覆盖
注意:必须始终与override一起使用
常量与只读
Const 定义的是静态常量在声明的同时赋值.以后不能改变它的值.属于编译时常量。不能用new初始化。
Const一般只能修饰值类型和String。也可以修饰引用类型 但是引用类型只能为null,所以一般不用他修饰引用类型。
Readonly 是只读变量.属于运行时变量.可以在类constructor里改变它的值.不能作用于局部变量。
初始化时机:
1.声明的同时赋值
2.静态变量的话 在静态构造中初始化
3.非静态变量的话 在非静态构造中初始化