/*C#快要期末考试了,还是抓紧复习复习基础知识吧...打卡Day 1*/
一、抽象类和抽象方法
1.抽象类本身不能实例化,也就是不能创建对象,只能作为基类使用,用关键字abstract修饰。
2.抽象类中的成员可以是抽象成员,也可以是非抽象成员。
3.抽象方法只存在于抽象类的定义中,非抽象类中不能包含抽象方法。
定义格式:
访问修饰符 abstract 返回值类型 方法名(参数表);
4.例题:
Which of the following is wrong?
①Abstract class could contain non abstract method//抽象类可能没有抽象方法
②A class containing abstract method must be a abstract class.//含有抽象方法的类一定是抽象类
③An abstract class cannot be instantiated.//不能实例化
④An abstract class can be sealed class.//抽象类不可能是密封类,因为抽象类必须要被继承才有意义。
二、密封类和密封方法
1.如果不希望一个类被其他类继承,可以将该类定义为密封类,即不能作为基类的类。用关键字sealed修饰。
2.密封方法可以被继承,但不能被派生类重写。
3.只有被重写的方法才能定义为密封方法。即sealed 和override 连用。
三、接口
1.接口的声明格式:
访问修饰符 interface 接口名
{接口成员声明
}
2.接口成员声明不包括数据成员,只能包含方法、属性、事件、索引等成员。
接口只包含接口成员的声明,不包含实现。
3.接口中方法成员的声明格式如下:
返回值类型 方法名 (参数表)
4.接口中属性成员的声明格式:
类型 属性名 {get; set; }
5.接口成员的访问修饰符默认是public,在声明时不能再为接口成员指定任何访问修饰符。
6.接口成员不能有static、abstract、override、virtual修饰符。