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;

时间: 2024-07-31 21:38:33

C#基本语法复习-创建接口和定义抽象类的相关文章

C#基本语法复习-创建并管理类和对象

控制可访问性: private一个方法或字段只允许从类的内部访问,private关键字是默认的 public方法或字段既能从类的内部访问也能从外部访问 方法中声明的变量默认是不初始化的,而类中的字段自动初始化为0,null,false 使用构造器: 与类同名.能获取参数,但不能返回任何的值(即使是void),构造函数一般申明为public,如果声明为private则无法再类的外部构造类的对象. 分部类: 使用partial关键字修饰类. 假如方法中的参数与一个变量同名,则在该方法的任何语句中,参

sql语法复习:增删查改,各种数据库对象创建和函数使用

推荐工具:机子配置较低的话,可以装Gsql这个工具获得sql执行环境(可作为手册查看内置数据类型 函数和存储过程等) --之前数据库的东西接触不多,虽然基本的语法是了解,但不是很熟悉--最近项目一直在折腾存储过程(一些数据逻辑都通过存储过程在数据库端实现),--复习了一遍sql的东东,在此记录一下. /*--创建数据库create database testuse test;--创建表 字段定义列表 主键 外键create table score (id int primary key, stu

5.5-全栈Java笔记:接口的定义和使用

接口interface 接口的作用 为什么需要接口?接口和抽象类的区别? 接口就是比"抽象类"还"抽象"的"抽象类",可以更加规范的对子类进行约束.全面地专业地实现了:规范和具体实现的分离. 抽象类还提供某些具体实现,接口不提供任何实现,接口中所有方法都是抽象方法.接口是完全面向规范的,规定了一批类具有的公共方法规范. 从接口的实现者角度看,接口定义了可以向外部提供的服务. 从接口的调用者角度看,接口定义了实现者能提供那些服务. 接口是两个模块之

C# 基础知识复习(十)---接口与接口继承

1.接口必须I开头: 2.只有申明,没有实现: 3.实现类在实现方法时,必须名字与接口一致: 4.实现类在实现继承接口时,必须把父接口的方法一并实现: 5.接口申明,默认是public的,这一点与class不同. C# 接口(Interface) 接口定义了所有类继承接口时应遵循的语法合同.接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分. 接口定义了属性.方法和事件,这些都是接口的成员.接口只包含了成员的声明.成员的定义是派生类的责任.

接口,接口的定义

接口interface,顾名思义,是为了一种事物与另一种事物进行交流提供的通道(手段),例如我们现在的操作系统是Windows系统,我们见到的界面和各个功能的按钮都是图形用户接口,接口就是用户和应用程序内部交互的界面.接口实际上有两种含义:一是一个类所具有的方法的特征集合,是一种逻辑上的抽像:二是java接口,java语言中存在的结构,有特定的语法和结构,前者叫做"接口"后者叫做"java接口".本节我们研究的是java接口. java中的接口是一系列方法的声明,是

java 子接口中定义与父接口相同的方法

今天碰到一个很有意思的问题,在java中如果子接口中定义了与父接口中已经有的方法会发生什么事情呢?比如: interface IRunnable extends Runnable{ void run(); } 刚开始我还以为这样子的语法应该不能通过编译器,没有想到这样子做编译器并没有做出任何警告. 当然大多数情况下我们都不会这么做,因为这样做似乎没有什么意义.但为了真相,我还是做了个小实现: public class InterfaceDebug{ public static void main

Java复习_4 接口多态和内部类

△abstract不可以修饰成员变量 △一个类可以没有抽象方法,可以定义为抽象类,这样的目的是不能让其他类建立本类对象,交给子类完成. △abstract和static(可以被类名调用方法,但是抽象方法调用没有意义)final(不能被覆盖方法)private(私有方法无法覆盖) △接口只能被实现.被用接口去继承或者用类或者抽象类去实现 △接口中定义的变量全部是常量.关键修饰符为Public static final.接口中没有构造方法,实现接口的类构造方法访问的是object,接口中的方法是Pu

Java利用webservice创建接口案例源码

环境要求: JDK1.7,并配置Java的环境变量 BaseDao  接口: /** * 要使得成为一个可供访问的接口,必须添加:@WebService * */ @WebServicepublic interface BaseDao {    //添加一个加法的接口        @WebResult(name="addddddre")    public int add(@WebParam(name="add01")int a,@WebParam(name=&q

OC_语法入门_day1_类的定义

H:/Objective-C/OC_day0/00-OC经典入门.m /*================第一段代码(start)========================== = #import <Foundation/Foundation.h> // 1,类的声明 @interface Car : NSObject { // 所有成员变量,默认初始值均为0 @public int wheels; int speed; } // 对象的方法 // 1,前面固定写减号- // 2,不同于