C#基本语法复习-创建接口和定义抽象类

定义接口:

  在接口中要按照与类一样的方式声明方法,只是不能够指定任何访问修饰符,要将方法的主体换成一个分号,接口默认的访问类型是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;

posted on 2015-04-03 16:31  阴晴撒哈拉  阅读(223)  评论(0编辑  收藏  举报

导航