C#第四节课

这节课的新知识主要是这个关键字

interface

中文译为接口,可以这么理解,也是一种类,但是只有函数名称而不涉及具体实现。

并不是起类的作用,而是用来做一个“协议”的用处。

用来约定这个接口调用的是候必须要有什么函数。

当你要继承一个interface的时候必须要将其中要求有的函数全部实现,这就是接口的用处

关于具体的定义

[attributes] [access-modifiers] interface interface-name [:base-inteface-list] 
{ 
       interface body 
}

这段来字ppt的代码比较清晰,则不加变动

其中attributes是性质:可选项、复数可。

access-modifiers:

访问修饰符:可选项;复数可; public, internal, private, protected,protected internal;Default: internal

interface是interface的关键字 

interface-name即为接口名

[:base-inteface-list] 是接口基类列表:可选项;复数;

接口主体(不能有访问修饰符):只是定义接口的方法和属性等的签名;实际的实现是写在使用该接口的class里

再次提醒自己注意,接口类中只有函数的签名而没有具体的实现,具体的实现在派生类中写入

要注意一个类可以继承多个接口,一个接口也可以继承多个接口。多个借口在后面罗列即可

但是当一个类继承的两个/多个接口有同名函数的时候要注意继承的时候

 public class Document : IStorable, ITalk
 {
    public Document(string s)
     {…; }
     // Make read virtual
     public virtual void Read()//隐式继承IStorable
     {…; }
     public void Write()
     {…; }
     void ITalk.Read()//显式继承
     { …; }
     public void Talk()
     { …; }
}

代码如上。注意显式隐式区别

之后讲了一些关于C#中的封装好的(数据结构?)的使用

arrays 等

另附多维数组定义。以int为例

int [ , ] myRectangularArray = new int[2,3];

一般形式:
type [ , , ] array-name = new type[x,y,z] ; //3维

再扯一扯实验的事儿

第一次上机实验中提到了好多目前没有讲过的知识

首先是如何写窗体程序

因为visual studio的存在使得界面的设计就像拼图一样,只要把需要的部件从工具箱中拖拽出来即可

很是简单,但是有一块涉及到了关于一个程序中调用另一个程序的知识点

我用的是process,用一个进程来启动我的控制台应用程序

因为第一次写手生的很,以后要多加锻炼

原文地址:https://www.cnblogs.com/Durandal/p/4394177.html