C#语法练习(15): 接口

接口只声明、无实现、不能实例化;

接口可包含方法、属性、事件、索引器, 但无字段;

接口成员都是隐式的 public, 不要使用访问修饰符;

类、结构和接口都可以继承多个接口;

继承接口的类必须实现接口成员, 除非是抽象类;

类实现的接口成员须是公共的、非静态的.

入门示例:

using System;

interface MyInterface
{
   int Sqr(int x);
}

class MyClass : MyInterface
{
   public int Sqr(int x) { return x * x; }
}

class Program
{
   static void Main()
   {
     MyClass obj = new MyClass();
     Console.WriteLine(obj.Sqr(3)); // 9

     MyInterface intf = new MyClass();
     Console.WriteLine(intf.Sqr(3));

     Console.ReadKey();
   }
}

时间: 2024-08-03 10:53:29

C#语法练习(15): 接口的相关文章

Linq之IQueryable接口与IEnumberable区别

IEnumerable接口 公开枚举器,该枚举器支持在指定类型的集合上进行简单迭代.也就是说:实现了此接口的object,就可以直接使用foreach遍历此object:  IEnumerable 包含一个方法,GetEnumerator,返回 IEnumerator. IEnumerator 可以通过集合循环显示 Current 属性和 MoveNext 和 Reset 方法. 它是一个最优方法实现 IEnumerable 和 IEnumerator 在集合选件类启用 foreach (For

为什么java接口里不能有成员属性?

问题描述 为什么java接口里不能有成员属性? 为什么java接口里不能有成员属性?为什么java接口里不能有成员属性? 解决方案 java接口中只能有静态常量和抽象方法的规范. 解决方案二: 这是语法规定,接口是特殊的抽象类.即只包含抽象方法和常量.

java接口-java中api即application program interface和interface有和区别和联系

问题描述 java中api即application program interface和interface有和区别和联系 java中api即application program interface和interface有和区别和联系 应用程序接口和接口有什么区别和联系 解决方案 api说的是你的系统提供给别的系统调用的方式和约定,是一个比较大的概念. interface说的是java语法上的接口.是一个比较小的概念.

PHP面向对象程序设计之接口用法_php技巧

接口是PHP面向对象程序设计中非常重要的一个概念.本文以实例形式较为详细的讲述了PHP接口的用法.具体如下: 接口:interface 在PHP中,我们可以规定,一个对象应该具有哪些公共的外部操作,即可使用interface来规定. 公共的方法就是接口.用于规定一个对象应该用于哪些公共的操作方法(接口),这个也叫接口(公共操作方法的集合) 即:接口(interface结构,公共方法集合) 公共方法(接口方法) 定义:用于限定某个对象所必须拥有的公共操作方法的一种结构,称之为接口(interfac

PHP面向对象的进阶学习(抽像类、接口、final、类常量)_php技巧

一.抽像类(abstract) 在我们实际开发过程中,有些类并不需要被实例化,如前面学习到的一些父类,主要是让子类来继承,这样可以提高代码复用性 语法结构: 复制代码 代码如下: abstract class 类名{ 属性 $name; 方法(){} //方法也可以为abstract 修饰符 function 方法名(){} } 例: 复制代码 代码如下: abstract class animal{ public $name; public $age; //抽象方法不能有方法体,主要是为了让子

引言

同人类任何语言一样,Java为我们提供了一种表达思想的方式.如操作得当,同其他方式相比,随着问题变得愈大和愈复杂,这种表达方式的方便性和灵活性会显露无遗. 不可将Java简单想象成一系列特性的集合:如孤立地看,有些特性是没有任何意义的.只有在考虑"设计".而非考虑简单的编码时,才可真正体会到Java的强大.为了按这种方式理解Java,首先必须掌握它与编程的一些基本概念.本书讨论了编程问题.它们为何会成为问题以及Java用以解决它们的方法.所以,我对每一章的解释都建立在如何用语言解决一种

Android:Service之AIDL传递系统基本类型数据

  什么是AIDL? 先来回顾一下,Android在本地的Service中如何与其它组件进行交互的,首先Service必须实现其onBind()方法,然后在onBind方法传递一个IBinder接口的实现,而在其它组件中使用bindService()绑定一个服务,再通过其中的参数ServiceConnection对象获取到Service中定义的IBinder接口的实现.那么与Service进行数据交互,其实就是传递一个IBinder,通过这个IBinder进行交互. 而现在就碰到一个问题,在同一

Java 8: Lambdas, Part 1

原文链接  作者:Ted Neward  译者:赵峰 了解Java8 中的lambda表达式 对开发人员来说没有什么比自己选择的语言或平台发布新版本更令人激动了.Java开发者也不例外.实际上,我们更期待新版本的发布,有一部分原因是因为在不久前我们还在考虑Java的前途,因为Java的创造者--Sun在衰落.一次与死亡的擦肩而过会使人更加珍惜生命.但在这种情况下,我们的热情来源不像以前发布版本时那样,这次是来源于事实.Java 8最终会获得一些我们期待了几十年的"现代"语言特性. 当然

《.NET程序员面试秘笈》----面试题13 举例说明索引器的作用

面试题13 举例说明索引器的作用 .NET程序员面试秘笈 [考点]索引器的理解,this在索引器中的作用. [出现频率] [解答] 索引器可以使客户程序很方便地访问类中的集合或数组,访问方法类似于通过索引访问数组,并且索引器向客户程序隐藏了内部的数据结构.索引器和属性同样使用get和set访问器读取.写入值,不过索引器的get和set访问器必须具有与索引器相同的形参表.但是属性可以为静态成员,而索引器必须为实例成员.索引器不支持类似于属性的自动实现的语法. 说明: 形参表即为声明索引器时接收的形