这节课的新知识主要是这个关键字
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,用一个进程来启动我的控制台应用程序
因为第一次写手生的很,以后要多加锻炼