定义接口:
在接口中要按照与类一样的方式声明方法,只是不能够指定任何访问修饰符,要将方法的主体换成一个分号,接口默认的访问类型是public;
interface a{ int b(); }
实现接口:
实现一个接口时,必须保证每个方法都完全匹配与他对应的接口中的方法,方法名和返回类型完全匹配,所有参数包括ref或out都完全,匹配使用接口名作为前缀,这称为显示接口实现,显示接口实现时,方法为私有的,只有采用该接口引用该对象的实例才能实现对方法的访问。采用隐式实现时,用于实现接口中的所有方法都必须具有public可访问性。当一个类在实现继承时同时又实现一个接口则基类在前,接口在后。实现接口时不能加上override关键字。
interface Ia{ void a(); } class b:Ia{ public void a(){} }
接口的限制:
不能再接口重定义任何字段;
不能在接口中定义任何构造器;
不能再接口中构建任何的析构器;
不能再任何方法中指定访问修饰符;
不能在接口中嵌套任何类型;
接口能从接口继承,但是不允许从结构或类中继承一个接口;
抽象类:
为了明确声明不允许创建某各类的实例,必须将那个类显示的声明为抽象类,使用abstract关键字完成;
抽象方法:
采用abstract修饰方法,方法不能够有主体,且方法不能为私有的,这点同virtual相似,在实现抽象方法时同实现接口类似,要使用与abstract相同的访问级别,要使用override关键字;抽象方法只能出现在抽象类中;
密封类:
被密封的类不能作为基类使用,使用关键字sealed来实现;
密封方法:
密封方法是不能够重写的方法,只能密封一个重写的方法,将方法声明为sealed override;
时间: 2024-10-10 20:48:28