1.接口的概念、接口的符号

接口是一组没有实现的操作的集合。接口只提供操作的声明,不提供任何相应的功能代码。具体的功能代码由使用该接口的类实现,这叫做实现关系。

public interface turn{ //开关
void turnUp();
void turnDown();
}

2.接口的实现

接口中声明的方法的真正实现是由类来完成的,类必须实现该接口中所定义的所有方法。一个接口可以由多个类来实现,而在一个类也可以实现一个或多个接口。

3.接口的作用

接口制定了一组规范,实现接口的所有的类都必须遵守这套规则。

常常遇到这样的情况,在父类内定义了一个操作,指望它的子类能够继承。但这个操作对于父类自身而言,没有必要编写任何代码,有时也实在不知道该编写什么代码。这时,我们就不去实现这个操作,接口就是这样一组操作的集合。

从设计的角度来看,一个项目中有多个类需要去编写,由于工作量比较大,每个类可能由不同的人进行编写,比如A程序员去写Dog类,B程序员去写Cat类。这两个类本来没什么联系的,可是由于用户需要他们都实现一个关于“叫”的方法.这就要对他们进行一种约束,让他们都继承于animal接口,目的是方便统一管理,也方便调用。

当然了,不使用接口一样可以达到目的。只不过这样的话,这种约束就不那么明显,如果这样的类还有Duck类等等,比较多的时候难免有人会漏掉这样方法,所以说还是通过接口更可靠一些,约束力更强一些。(摘自互联网)

保持程序的可扩展性。(例如上面的例子中,如果有其他的动物类..)

一个类可以实现多个接口。可以在同一个类中同时实现多个接口,即实现多重继承。要实现多个接口,需将这些接口用逗号分开。

程序演示:模拟手机即可打电话又可以视频电话

public interface IPhone{
void call();
}
public interface IVideo{
void show();
}
class visualPhone:IPhone,IVideo{
private string phoneName,videoName;
public visualPhone(string name1,string name2){
phoneName = name1;
videoName = name2;
}
public void call(){
Console.WriteLine("{0}开始通话",phoneName);
}
public void show(){
Console.WriteLine("{0}开始视频",videoName);
}
}

对应的类图:

4.接口的特点

接口中只能包含方法、属性、索引器和事件的声明,没有字段和构造函数和析构函数、不能直接被实例化。接口不能自己实现其操作,而是由相应的类来实现。一个类可以实现多个接口。

5.对象图(Object Diagram)

对象是类的实例,对象图也可看作是类图的实例。

6.对象图与类图的关系。

对象图实质上是类图的实例,主要用于了解系统在某个特定时刻的具体情况,以求发现类图中的错误,进而修正类图。

对象的符号。

与类的图形相似,但有如下区别:

1、对象只有名称和属性两个分栏,没有操作分栏。

2、对象的名称要加下划线

3、对象的属性应有具体的值。(例如上面的对象图)

对象名的三种格式

对象图的组成

提示:对象图没有多重性,因为所有的链都是一对一的。