zoukankan      html  css  js  c++  java
  • 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,用一个进程来启动我的控制台应用程序

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

  • 相关阅读:
    GO 语言使用copy 拷贝切片的问题
    ggplot 局部放大
    R语言hist重叠图作法
    illumina SNP 芯片转基因型矩阵
    Shell 变量嵌套
    JVM指令
    VUE—CLI学习
    Gradle 项目打开自动下载Zip问题及相关配置
    MySQL8服务无法启动,服务没有报告任何错误
    SpringMVC相关
  • 原文地址:https://www.cnblogs.com/Durandal/p/4394177.html
Copyright © 2011-2022 走看看