C# —— 接口

接口硬件定义: 把里面代码进行封装,并不知道接口里面是怎么去实现的,可能需要和其他东西结合在一起使用

接口的作用:应用硬件方面 计算机具有可扩展性

软件方面接口:

            使用interface关键字定义接口 一般以I开头进行命名
            接口中属性和方法等只做一个声明,没有任何实现。
            接口当中的属性和方法默认都是public的,

接口的特点:

            1 接口具有强制性 必须对接口里面属性和方法进行实现
            2 接口可以实现(:)另外一个接口,类可以实现一个接口或者多个接口

接口在多态上的体现 两个类同时实现同一个接口,两个类实体调用接口的方法会有不同的体现

抽象类和接口都不能使用new 进行创建

例题如下:

1 interface 定义一个接口

C# —— 接口_第1张图片

2 定义一个子类继承 IAnimal 父类 就是一个接口的过程

C# —— 接口_第2张图片

3 同样是 定义一个子类继承 IAnimal 父类 

C# —— 接口_第3张图片

4 最后在Main里面进行调用

Cat c1 = new Cat();
c1.Run(); // run方法定位到cat类里面的方法

 可以把子类对象赋值给接口类型的变量

 IAnimal cat = new Cat();
cat.Run(); // run方法定位到c接口里面的方法

C# —— 接口_第4张图片 

 5: 运行结果如下

C# —— 接口_第5张图片

总结:

接口具有强制性 可以实现(:)另外一个接口,类可以实现一个接口或者多个接口

不能使用new 进行创建

接口和抽象类的区别:

        不同点:

                 1 抽象类关键字abstract,接口的关键字interface
                 2 一个类只能继承一个抽象类,一个类可以实现多个接口
                 3 抽象类可以定义抽象方法,子类必须实现父类的抽象方法:几口必须实现接口里面所有属性和方法
                 4 实现抽象方法需要关键字overrider,接口直接实现就行

        相同点:

                1 都不能通过new 直接实例化
                2 都包含未实现的方法
                3 子类和"实现接口的类"都得把未实现的方法进行实现

你可能感兴趣的:(java,开发语言)