关于接口的一些概念问题

问题描述

请教大家,接口不是只是定义方法的名称吗,没有定义方法的实现,但有些类继承像IComparable这种接口后,可以用CompareTo方法,但CompareTo方法不是应该没有定义具体实现吗?那一个类实现一个接口到底有什么用呢?

解决方案

解决方案二:
《抽象类和接口的关系对比》抽象类抽象类主要用来定义一些抽象的属性和方法,留待子类根据自己的情况实现这些属性和方法抽象类不能生成实例,即不能new一个抽象类的实例抽象类可以被继承,除非继承该抽象类的子类仍声明为抽象的,否则就必须实现这个抽象类的所有抽象属性和方法一个类只能继承一个抽象类,如果需要实现多个类的抽象方法,必须使用接口子类与抽象类是is关系接口接口主要用来定义一些抽象的属性和方法,留待实现类根据自己的情况实现这些属性和方法接口不能生成实力,即不能new一个接口的实例抽象类可以被实现,除非实现该接口的类声明为抽象的,否则就必须实现这个接口的所有抽象属性和方法一个类可以实现多个接口实现类与接口是has关系
解决方案三:
你要自己给出CompareTo的实现
解决方案四:
好东西..学习了!!
解决方案五:
如有这样一个泛型类publicclassLinkedList<K,T>whereK:IComparable{Node<K,T>m_Head;publicLinkedList(){m_Head=newNode<K,T>();}publicvoidAddHead(Kkey,Titem){Node<K,T>newNode=newNode<K,T>(key,item,m_Head.NextNode);m_Head.NextNode=newNode;}TFind(Kkey){Node<K,T>current=m_Head;while(current.NextNode!=null){if(current.Key.CompareTo(key)==0)break;elsecurrent=current.NextNode;}returncurrent.Item;}}其中CompareTo方法是因为实现了IComparable的接口后方可使用,但CompareTo方法我并没有定义它的实现,但已经可以用了,难道IComparable已经已经定义过该方法的实现了?
解决方案六:
引用1楼zhoufoxcn的回复:

《抽象类和接口的关系对比》抽象类抽象类主要用来定义一些抽象的属性和方法,留待子类根据自己的情况实现这些属性和方法抽象类不能生成实例,即不能new一个抽象类的实例抽象类可以被继承,除非继承该抽象类的子类仍声明为抽象的,否则就必须实现这个抽象类的所有抽象属性和方法一个类只能继承一个抽象类,如果需要实现多个类的抽象方法,必须使用接口子类与抽象类是is关系接口接口主要用来定义一些抽象…

详细
解决方案七:
[align=center]去我的空间下载接口的视频教程o(∩_∩)o...http://download.csdn.net/user/ws_hgo/[/align]
解决方案八:
关注!!
解决方案九:
限制类型参数K必须实现IComparable接口

时间: 2024-09-23 08:56:49

关于接口的一些概念问题的相关文章

远程接口概念

RMI对接口有着强烈的依赖.在需要创建一个远程对象的时候,我们通过传递一个接口来隐藏基层的实施细节.所以客户得到远程对象的一个句柄时,它们真正得到的是接口句柄.这个句柄正好同一些本地的根代码连接,由后者负责通过网络通信.但我们并不关心这些事情,只需通过自己的接口句柄发送消息即可. 创建一个远程接口时,必须遵守下列规则: (1) 远程接口必须为public属性(不能有"包访问":也就是说,它不能是"友好的").否则,一旦客户试图装载一个实现了远程接口的远程对象,就会得

自动化基础概念之“COM组件与接口”

在前文,我预告了我将开始介绍WINX对自动化(Automation)的支持.首先我打算解释一下自动化(Automation)相关的概念. 我们会分为3个篇幅介绍: ·COM基础:COM组件(Component)与接口(Interface) ·变体(Variant)与IDispatch(Dispatch调用) ·自动化(Automation).OA(Office Automation).二次开发接口(应用程序开发接口,API)与类型库(TypeLib) 这是第一篇. COM组件(Component

TypeScript 中接口详解

  TypeScript核心设计原则之一就是类型检查,通过使用接口(Interfaces)可以进行类型检查,满足传统面向对象思想,利于有效开发,有效避免类型转换问题. 在 TypeScript 中,接口是用作约束作用的,在编译成 JavaScript 的时候,所有的接口都会被擦除掉,因为 JavaScript 中并没有接口这一概念. 先看看一个简单的例子: ? 1 2 3 4 5 6 function printLabel(labelledObj: { label: string }) { co

面向对象编程语言中的接口(Interface)

在大多面向对象的编程语言中都提供了Interface(接口)的概念.如果你事先学过这个概念,那么在谈到"接口测试"时,会不会想起这个概念来!?本篇文章简单介绍一下面向对象编程语言中的Interface.     Java中的Interface                                                                   在Java中定义接口使用interface关键字来声明,可以看做是一种特殊的抽象类,可以指定一个类必须做什么,而不

函数式接口、默认方法、纯函数、函数的副作用、高阶函数、可变的和不可变的、函数式编程和 Lambda 表达式 - 响应式编程 [Android RxJava2](这到底是什么)第三部分

本文讲的是函数式接口.默认方法.纯函数.函数的副作用.高阶函数.可变的和不可变的.函数式编程和 Lambda 表达式 - 响应式编程 [Android RxJava2](这到底是什么)第三部分, 太棒了,我们又来到新的一天.这一次,我们要学一些新的东西让今天变得有意思起来. 大家好,希望你们都过得不错.这是我们的 RxJava2 Android 系列的第三篇文章. 第一部分 第二部分 在这篇文章中,我们将讨论函数式的接口,函数式编程,Lambda 表达式以及与 Java 8 的相关的其它内容.这

Zope3接口简介

本书所有章节里,你都无法避开接口这一概念,不论以何种形式.因此,对读者而言,理解接口的意义相当重要.在大型软件项目中,特别是那些预期或需要与大量其它软件互动的项目中,开发精确良好的应用开发接口(APIs)是非常有必要的.我们可以把API看作整个框架的标准,就像RFC或POSIX标准那样.一旦定义并发布了一个接口,它就不应随意改变.此外,API在单体软件里也很有用,它被看作内部API. 接口(感觉我们要使用术语)在编程中提供一个用来指定 API 的大概方法. 当其他编程语言,例如Java,就将接口

深入解析Java接口(interface)的使用_java

Java接口(interface)的概念及使用 在抽象类中,可以包含一个或多个抽象方法:但在接口(interface)中,所有的方法必须都是抽象的,不能有方法体,它比抽象类更加"抽象". 接口使用 interface 关键字来声明,可以看做是一种特殊的抽象类,可以指定一个类必须做什么,而不是规定它如何去做. 现实中也有很多接口的实例,比如说串口电脑硬盘,Serial ATA委员会指定了Serial ATA 2.0规范,这种规范就是接口.Serial ATA委员会不负责生产硬盘,只是指定

TypeScript 中接口详解_javascript技巧

在 TypeScript 中,接口是用作约束作用的,在编译成 JavaScript 的时候,所有的接口都会被擦除掉,因为 JavaScript 中并没有接口这一概念. 先看看一个简单的例子: function printLabel(labelledObj: { label: string }) { console.log(labelledObj.label); } var myObj = { size: 10, label: "Size 10 Object" }; printLabel

浅析php接口操作interface关键字的用法及应用实例

接口是一种约束形式,其中只包括成员定义,不包含成员实现的内容.用接口(interface),你可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容. 我们可以通过interface来定义一个接口,就像定义一个标准的类一样,但其中定义所有的方法都是空的. 接口中定义的所有方法都必须是public,这是接口的特性. 实现   要实现一个接口,可以使用implements操作符.类中必须实现接口中定义的所有方法,否则会报一个fatal错误.如果要实现多个接口,可以用逗号来分隔多个接口的名称.