Liam的C# 学习历程(四):接口

这周的课上,老师为我们讲述了一些关于接口(Interface)的知识。下面我们就通过实际的操作来复习一下:

首先我们要了解什么是接口,它与我们之前提到过的抽象类相似,不同点便是抽象类往往是一系列派生类的基类,而接口则可以实现多重继承。

接下来我们可以看一下接口的实现语法:

[性质][访问修饰字]interface接口名[:基列表]
{接口主体}

这其中,接口名通常以大写开头。

下面我们就尝试着实现一个简单的接口:

using System;

namespace SimpleInterface
{
    interface IStorabale
    {
        void Read();
        void Write();

        //这其中的方法是public的,且并没有这里实现这些方法。
    }

    public class Document : IStorable
    {//创建了实现接口的类
        public Document ( string s)
        {
            ...
        }

        public void Read()
        {//实现Read方法
            ...
        }

        public void Write()
        {//实现Write方法
            ...
        }

上面的代码中,我们就是创建了一个名为IStorable的接口,并通过Document这个类实现了这个接口。

时间: 2024-10-09 13:33:22

Liam的C# 学习历程(四):接口的相关文章

Liam的C# 学习历程(五):正则表达式(Regular Expressions)

在这周的C#课堂上,我们学习了一些关于正则表达式的知识,结合老师上课所讲的,我又在网上搜索了一些相关的知识,接下来就让我们来实验一下. 首先我们先来复习一些在Linux课堂上学习过的简单的正则表达式的符号: “ . ” :通配一个单个字符,例如“a."可以在“ab.ac.cd.a1.abc”中通配出:“ab.ac和a1”: “.. ” :  与上一个类似,通配两个任意的字符. “ * ”:通配前一个字符的多次出现,  例如“a*”可以通配出:空.a.aa.aaa等: “{}”:可以通配出前一个字

Liam的C# 学习历程(三):类与对象、继承与多态

在这一次的课程中,我们主要学习了C#中一些关于类的的具体应用和面向对象(OOP)的三大特点:封装(Encapsulation).多态(Polymorphism)和继承(Inheritance).接下来就让我们来实验一下学到的知识. (一)This 关键字 this关键字(又称this指针)是类中所有非静态方法的隐藏指针. 调用this的方法有很多种,首先是在收到与成员变量同名的参数时,使用this可以避免混淆,就像下面过程所演示的: 成员函数SomeMethod收到了一个与成员变量hour同名的

Liam的软件测试学习历程(三):JUint使用

今天的上机课上,我尝试了使用JUint和EclEmma对项目进行测试. 首先是这两个工具的安装,JUint比较容易,只需将需要的jar包引入到项目中即可,而EclEmma则需要在Eclipse中选择安装新软件来进行安装. 安装好后,是完成对待测项目的编程,这次的测试代码是一个检测三角形形状的方法.我的代码如下: package com.triangleProblem; import junit.framework.Test; public class Triangle { public Tria

Liam的C# 学习历程(六):LINQ(Language-INtegrated Query)

在这一周的C#课程中,我们学习了一些在C#编程中需要用到的对数据库或XML文件进行处理的操作,这就是LINQ,它使得一种类似与我们在数据库中常用的SQL语言的查询语言成为了C#语言的一部分,方便了我们搜索数据库等方面的操作.下面我们就来一起复习一下. (一)创建LINQ(Creating the Query): 1.From字句(The from clause):指定范围变量和数据源 from customer in customers //customer:range variable fro

Liam的C# 学习历程(七):WPF(Windows Presentation Foundation)、Windows Form Applications

在今天的课堂中,老师向我们讲述了关于一些WPF(Windows Presentation Foundation)和Windows Form Applications的内容,接下来就让我们一起来复习一下: (一).WPF(Windows Presentation Foundation): WPF是一个重要运用于desktop手机开发方面.它使用到了一种XML的变形语言——XAML的语言(eXtensible Application Markup Language). 使用XAML开发人员可以对WP

Liam的C# 学习历程(九):实验学习

在最近的几周里,我们结合老师在课堂上所讲的知识,以及课下在通过视频学习的内容,通过Win8.1 App.WP8.1 App以及WPF的三种形式,联系了C#的一些具体的编程方法.下面我们就来回顾一下在编程过程中所使用到的一些方法: (一).页面之间的跳转: 对于这一部分,在编写Windows App时和编写WPF是所使用的方法是不同的,下面就分别来介绍一下: 1.Windows App: Frame.Navigate(typeof(DetailPage), file1); //跳转至名为Detai

Liam的软件测试学习历程(二):查找错误的两道例题

观察两段代码并回答下列问题: (1) 发现错误代码: (2) 试着编写测试用例,不执行fault部分: (3) 执行fault部分,但不出现error情况: (4) 出现error情况,但不发生failure. 代码一: public int findLast (int[] x, int y) { //Effects: If x==null throw NullPointerException // else return the index of the last element // in

Liam的C# 学习历程(八):数据流(Streams)

在这节C#课上,老师为我们讲述了第22章数据流的相关内容.首先我们需要用到的类在System.IO的命名空间中.这些类包括了表示磁盘上某个文件的File类,以及表示目录的Directory类. 接下来我们就通过一些例子来体会一下: (一).二进制输入: using System; using System.IO; namespace ImplementingBinaryReadWriteToFile { class Tester { const int SizeBuff = 1024; publ

Liam的软件测试学习历程(五):Selenium测试

今天的实验是使用Selenium进行Web的测试.首先需要在Firefox中安装相关插件Selenium.安装好后,在Firefox右上角会出现一个标志:.出现这个标志就代表安装好了. 接下来点击这个按钮,就会出现Selenium IDE的界面: 单击右侧红色的录制按钮开始录制.录制的步骤即为测试一个用例要进行的所有步骤,包括填入网址,输入学号密码等.最后选中结果界面中的邮箱,邮件选择assertText. 之后在Selenium IDE中输出相应的结果,注意在输出钱要在option中勾选Ena