社区
Java SE
帖子详情
深入探讨java的接口和抽象的内涵!
Virginer
2001-09-14 11:35:34
加精
搞来搞去还是不是真正的明白其内涵!
请给一点高的见解!
...全文
152
7
打赏
收藏
深入探讨java的接口和抽象的内涵!
搞来搞去还是不是真正的明白其内涵! 请给一点高的见解!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jasper
2001-10-01
打赏
举报
回复
对,这就是多态的概念,看上去,大家都是pig,但其实eat的细节是不同的,但使用者只要知道,它使用的东西是pig的instance就行了,而这就是封装。
接口就是规范,这点也很对,而且这一点也是oo的重大实际意义,为什么要有oo,就是为了缩短开发周期,而缩短开发周期最好的方法就是通过协作和分工,而在分工协作中,最重要的就是任务分配和交流。接口的出现,就是oo中便于分配和交流的一件自然而然的事情。打个比方,这个世界既有IBM的PC,也有联想的PC,对于用户来说,只要知道他们实现了x86这个接口就行了,就可以放心大胆的用了。这样,联想PC,IBM PC,尽管它们做工作的细节不同,但同样都是规范的PC。对于程序员来说,不管你怎样实现这个功能,只要你用的是这个方法名,别的人就可以放心大胆的用你的方法了,这样,别人就不用等你开发好了,问你“你这个方法叫什么名字,我应该什么调用?”,因为这些都已经被接口规范好了,因此,变化的是你在具体类中实现的细节,不变的是你在接口中定义的方法名和调用方法。这也就是把“不变的和变化的分离开”
Virginer
2001-09-14
打赏
举报
回复
zzhphp(): 放在一个接口中实现了启动的特性(开关),而提取这样一个特性又有什么优势呢?
况且这特性还要再一次的在每个对象中具体的实现!
zzhphp
2001-09-14
打赏
举报
回复
我谈一下本人的关点,如有不对请多指教。
接口:我认为是建立在不同对象,所要实现共同的特性。如:对象电灯、电梯、汽车。。。它们是 不同的对象,可要运行它们,都会有一个启动的特性(开关),那么这个特性我认为就可以 放在一个接口中实现。
抽象:我认为是建立在同一对象的基础之上的,要对同一类对象的同一个特性进行详细的说明或许 要用到它,因为在同一类对象中,具体到各不同的实体时,都会在相同的特性的实现上有部 分的差别,所以使用这种“抽象”来解决。
-------------------------------------------------------------------------
以上是个人关点,如有不适之处还望高手提出。
同时希望大家,多提出一些在这两方面在实用中的经验。
sharetop
2001-09-14
打赏
举报
回复
对,最根本的区别有两点:接口是纯虚的,接口可以多继承。
一般在java开发中常用的是interface而不是abstract类,因为java不提供多重继承,所以只能用接口来实现了。
其实接口与C++中的纯虚类很类似了。
pboracle
2001-09-14
打赏
举报
回复
大型项目开发之前要给每一个小组成员分配任务
所以要有一种“先定义”一个空函数
“后实现”这个函数的机制
定义由项目组长做
实现由小组成员做
这就是抽象机制的由来
而接口则是在java中实现抽象的最佳途径
还有另一种方法是构造abstract类,没有interface好,因为接口是“纯虚的”
给点分,好吗
supersonics
2001-09-14
打赏
举报
回复
interface pig{
void eat(){}
}
public class bigpig implements pig{
void eat(){
System.out.println("eat a lot");
}
}
public class littlepig implements pig{
void eat(){
System.out.println("eat little");
}
}
pig myPig ;
myPig = new littlepig(); // line x1
myPig.eat();
myPig = new bigpig(); // line x2
myPig.eat();
-----------------------------------------------
如果我把line x1和line x2交换,一点问题都没有。
如果我们在使用myPig的时候不需要知道myPig具体如何做,岂不是符合oop的思想。
zzhphp
2001-09-14
打赏
举报
回复
to Virginer(里个那个里个棱) :
我认为优势有以下点:
1. 它可以起一个规范的作用,对于不同对象之间某些特性,它的操作,可以起到规范化,这样不论谁来实现,它的接口肯定是规范化。(如:sax,dom,这些不是太深入的学过,但它们定义的接口,确是规范的。)
2. 正如 sharetop(天生不笨) 所说的,java中不支持多层继承,那只有使用这个接口了。
java
抽象
类和
接口
java
抽象
类和
接口
一,
抽象
类概念
抽象
类与普通类
抽象
类与
抽象
方法的使用总结二,
接口
接口
的概念
接口
的特征示例总结 一,
抽象
类 概念
抽象
类和具体类是相对的概念。“
抽象
”是一种存在思想逻辑中的概念,而“具体”是一种可见可触摸的现实对象。简单说,比如“人”比“男人”
抽象
一点,“动物”又比“人”更
抽象
一点,而“生物”又比“动物”更
抽象
。
抽象
的概念是由具体概念依其“共性”而产生的,把具体概念的诸多个性排出,集中描述其共性
JAVA
抽象
类和普通类、
接口
的区别
概念:
抽象
类和具体类是相对的概念。“
抽象
”是一种存在思想逻辑中的概念,而‘具体’是一种可见可触摸的现实对象。简单说,比如“人”比“男人”
抽象
一点,“动物”又比“人”更
抽象
一点,而“生物”又比“动物”更
抽象
。
抽象
的概念是由具体概念依其“共性”而产生的,把具体概念的诸多个性排除,集中描述其共性,就会产生一个
抽象
性的概念。
抽象
思维,是人类思维达到高级阶段产生的一种能力,例如,当小孩...
Java
基础深度总结:
抽象
类和
接口
没有比人更高的山没有比脚更长的路。 内容1.
抽象
2.
抽象
类2.1 什么是
抽象
类2.2
抽象
类的特点2.3
抽象
类与普通类3.
接口
3.1 什么是
接口
3.2
接口
成员3.3
接口
特点4.
接口
与
抽象
类的异同5.使用选择 1.
抽象
抽象
性和具体性都是相对的,不是绝对的。概念的
内涵
越小,则其
抽象
程度就越高,其外延也越大,反之亦然。比如“人”比“男人”
抽象
一点,而“生物”又比“人”更
抽象
一点,“物质”则比“生物”更
抽象
。
抽象
的概念是由具体概念依其“共性”而产生的,把具体概念的诸多个性排除,集中描述其共性,就会产生.
对「
Java
」中对象、类、
抽象
类、
接口
的理解
类和对象 一个对象对应一个实体,用代码来描述实体的状态和行为。而如果一切皆对象,那么由什么来决定某一类的对象的外观和行为呢,也就是对象的类型(Type)。也就是说,类是对一类具有相同外观和行为的对象的
抽象
。 先有对象还是先有类 看似是先有鸡还是先有蛋的哲学问题,其实从现实生活中发现。是先有实体的存在,然后人们将这些实体的外观和行为统一
抽象
概括。比如说:你我他、小明的存在。我们都被归于人这个类型,因为我们具有相似的外观和行为。
抽象
是有层次的 对某一类的对象的
抽象
程度不同,形成的类在
抽象
层次树中的位置不同。继
对
Java
中对象、类、
抽象
类、
接口
的理解
对
Java
中对象、类、
抽象
类、
接口
的理解类和对象先有对象还是先有类
抽象
是有层次的
抽象
类的形成
抽象
类的构成
抽象
类和普通类
接口
的意义
接口
和
抽象
类
接口
的构成 类和对象 一个对象对应一个实体,用代码来描述实体的状态和行为。而如果一切皆对象,那么由什么来决定某一类的对象的外观和行为呢,也就是对象的类型(Type)。也就是说,类是对一类具有相同外观和行为的对象的
抽象
。 先有对象还是先有类 看似是先有鸡还是先有...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章