统一的标准-接口
接口是面向对象编程的一个重要技术,在C#中负责实现多重继承。一个接口定义一个协定,实现接口的类或结构必须遵守其协定。
接口的定义
- 接口用来描述一种程序的规定,可定义属于任何类或结构的一组相关行为。
- 接口可由方法、属性、事件、索引器或这4种成员类型的任何组合构成。
- 接口不能包含常数、字段、运算符、实例构造函数、析构函数或类型,也不能包含任何种类的静态成员。
- 接口成员一定是公共的。
- 接口不能包含其所定义的成员的任何实现语句,接口只指定实现该接口的类或必须提供的成员。
// 语法:
<访问修饰符> interface 接口名
{
//接口主体
}
接口的实现
定义了接口后,就要在类或结构中实现。C#中通常把派生类和基类的关系称为继承,类和接口的关系称为实现。
实现接口的语法和继承类一样,都有“:”,接口中的方法在类中实现时不是重载,不需要使用override关键字。
示例: 声明接口IPoint描述一个点的坐标并实现该接口。
// IPoint.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace interfaceTest
{
interface IPoint
{
// 定义属性成员x,它含有读/写抽象访问
int x {
get; set; }
// 定义属性成员y,它含有读/写抽象访问
int y {
get; set; }
}
// 从接口IPoint派生一个新类,这个类用来实现Point接口成员
class Point: IPoint
{
// 定义两个类内部访问的私有成员变量
private int px;
private