接口继承 测试

基类

    class Base :InfBase
    {
        public virtual  void  GetName()
        {
            Console.WriteLine("dog");
        }
    }

接口基类

    interface InfBase
    {
        void GetName();
    }

接口继承

    interface Inf2 :InfBase
    {
        void GetName(string s);
        void GetName();
    }

类继承

    class Class2 :Base ,Inf2
    {
        public   void GetName(string s)
        {
            //base.GetName();
            Console.WriteLine(s);
        }

        public new void   GetName()
        {
            Console.WriteLine("horser");
        }
    }

注意方法2:使用NEW(override ) ,说明这里新建方法,覆盖了基类方法。如果不使用,提示如图

main主程序

    class Program
    {
        static void Main(string[] args)
        {
            Class2 c2 = new Class2();
            c2.GetName();
            ((Inf2) c2).GetName("duck");
            // (Inf2) c2.GetName();
            Console.ReadLine();
        }
    }

结果:

时间: 2024-10-15 14:24:58

接口继承 测试的相关文章

Java中接口继承泛型接口

在使用Mybatis做web开发时,每一个模块的数据持久层的接口都会定义:增删改查四个方法.我想为什么不新建一个Base接口来做所有数据持久层的父接口呢? 于是,我试验了一下,建立了一个泛型接口,里面定义了四个操作数据库的基本方法,对应增删改查: public interface BaseMapper<T> { public T selectByPrimaryKey(Integer id); public void insert(T t); public void updateByPrimar

接口继承与实现

定义一个父接口IParent1; public interface IParent1{ public void p1() ;//定义抽象方法p1;} 定义一个父接口IParent2; public interface IParent2{ public void p2() ;//定义抽象方法p2;} 定义一个子接口IChild;IChild继承了父接口IParent1和IParent2; public interface IChild extends IParent1,IParent2{ //IC

C# 基础知识复习(十)---接口与接口继承

1.接口必须I开头: 2.只有申明,没有实现: 3.实现类在实现方法时,必须名字与接口一致: 4.实现类在实现继承接口时,必须把父接口的方法一并实现: 5.接口申明,默认是public的,这一点与class不同. C# 接口(Interface) 接口定义了所有类继承接口时应遵循的语法合同.接口定义了语法合同 "是什么" 部分,派生类定义了语法合同 "怎么做" 部分. 接口定义了属性.方法和事件,这些都是接口的成员.接口只包含了成员的声明.成员的定义是派生类的责任.

《Effective C++》之条款34:区分接口继承和实现继承

<Effective C++> 条款34:区分接口继承和实现继承 Public继承由两部分组成 函数接口继承 函数实现继承 三种可能面对的继承 derived class 只继承成员函数的接口 derived class 同时继承函数的接口和实现,但又希望能够覆写它们所继承的实现 derived class 同时继承函数的接口和实现,但不允许覆写任何东西 总结: 接口继承和实现继承不同.在public继承下,derived classes 总是继承base class 的接口. Pure vi

RobotFrameWork接口报文测试-----(三)demo的加强版(数据驱动测试)

在上一篇RobotFrameWork接口报文测试-----(二)demo的升级版基础上,将接口的xml的格式保存在xml文件中,然后程序如果增加一个接口,在xml文件里添加即可,无需修改自动化测试里的其他模块,然后在工具加case就可以了,但是接口取值的数据全部都是直接在case里面录入的,也就是说,每增加一条测试用例,就需要在工具内添加一条case,测试数据始终都是在工具内控制,这让以前使用excel管理过测试数据的我感觉很不爽,总感觉得把数据放到excel内,然后实现数据驱动测试. 围绕着这

[技术学习]js接口继承

js是面向对象语言,但是js又缺乏了面向对象的诸多特性,比如继承,没有接口继承也没有父类继承,因此有时候需要人工来实现继承. 一.首先看下java中面向对象的继承: //定义类鸟类的飞行动作 interface BirdFlyable { public void fly(); } //鸟类 class Bird implements BirdFlyable{ public void fly(){ System.out.println("bird is flying"); } } //蝙

《Effective C++》:条款34:区分接口继承和实现继承

public继承的概念,由2部分构成:函数接口(function Interface)继承和函数实现(function implementation)继承.这两种继承的差异有点像函数的声明和函数的定义之间的差异. 我们在设计class时,有时希望derived class只继承函数的接口(即函数声明):有时候希望derived class继承函数接口和实现,但又覆写它们所继承的实现:又有时候希望derived class同时继承函数的接口和实现,但不覆写任何东西. 为了更好理解上述差异,用一个绘

C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义(转载)

C#与Java对比学习:类型判断.类与接口继承.代码规范与编码习惯.常量定义 类型判断符号: C#:object a;  if(a is int) { }  用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 instanceof 符号判断 类与接口的继承: C#:public class MDataRow : List<MDataCell>, IDataRecord, ICustomTypeDescriptor Java:publi

万能的函数 之 接口继承 实现继承~~~

在public继承中,(public 继承表示的关系是 "is  a " 的关系),其类中定义的函数主要有三类:pure virtual函数,impure virtual函数以及non-virtual函数,这三种函数决定了public继承中的两个重要概念 : " 函数接口继承" 以及 "函数实现继承".那么接下来将针对这样一个不简单的问题做一些简介. 考虑如下的类定义: class Shape{ public: virtual void show