我很想问一下的是,这一区别是什么,但现在却得到了回答。 但现在我 asking问,他们为什么会作出这些分歧? (这里讲java语的人,我不知道这是否也适用于其他语言)
这两种情况似乎非常相似。 摘要班可以界定一种方法体,而接口可以起,但可以继承多个接口。 因此,他们(在撰写 Java文时,我指的是Sun)做一件事,你可以写一个手法和,这样一来可以由一个阶层继承一次以上。
在无法书写方法或延长我不见的多次时间方面,是否有一些好处?
我很想问一下的是,这一区别是什么,但现在却得到了回答。 但现在我 asking问,他们为什么会作出这些分歧? (这里讲java语的人,我不知道这是否也适用于其他语言)
这两种情况似乎非常相似。 摘要班可以界定一种方法体,而接口可以起,但可以继承多个接口。 因此,他们(在撰写 Java文时,我指的是Sun)做一件事,你可以写一个手法和,这样一来可以由一个阶层继承一次以上。
在无法书写方法或延长我不见的多次时间方面,是否有一些好处?
由于允许班级继承同一方法签字的多种执行,导致出现一个明显的问题,在操作时间应当使用。
Java避免这种情况,只支持多个接口的遗产。 每个接口所申报的签名可以比较容易地合并(贾瓦基本上使用所有方法的结合)
多重遗产更难以用一种语言(而不是真正的语言)实施,因为它可能导致某些问题。 这些问题已在以下网站讨论:。 多重继承的确切问题是什么?
我始终认为,这是 Java的妥协。 接口使一个班级能够履行多项合同,而没有多重继承的头痛。
考虑这个例子:
public abstract class Engine
{
public abstract void switchPowerOn();
public abstract void sprinkleSomeFuel();
public abstract void ignite();
public final void start()
{
switchPowerOn();
sprinkleSomeFuel();
ignite();
}
}
摘要班子可以帮助你掌握能够或不能压倒一切的坚实基础方法,但在这些方法中,它利用抽象的会合,为你提供做具体事情的机会。 在我的例子中,不同的发动机在如何转换电力、减少一些燃料用于燃气以及进行电解方面有着不同的应用,然而,发动机的起始系列<>总是一样的。
这种模式被称为“模板方法”,非常坦率地说,是 Java对我来说唯一明智的抽象课程。
让他们做一件事,是Schala guys与Traits走的路,后者是一个能够有办法并支持多重遗产的接口。
我认为,对我来说,接口是干净的,因为它们只规定了要求(通过合同设计),而抽象的班级界定了共同行为(实施),因此是不同工作的一种不同工具? 接口还可能使得在汇编时间时能够更有效地制定守则?
您所描述的另一种做法是C++(如恶毒)采用的方法。 与这种“多重继承”有关的问题非常复杂,在C++中有几个批评者。
继承是指继承母阶级的nature(meaning)和responsibility (behaviour) ,而界面执行是指你履行合同(例如,Serializable),后者可能与这一类核心性质或责任无关。
摘要班子请你界定你想要是通用的,而不是直接的,因为必须是专门性的。 你们知道如何履行某些高级别任务(例如根据某些参数作出决定),但是,你不知道某些较低级别行动的细节(例如,对一些中间参数的计算),因为这项工作取决于执行选择。 解决这一问题的一个替代办法是。 战略设计模式。 这种做法更加灵活,允许日常战略转换和Null行为,但更为复杂(而且不一定总是需要实时洗).)。 此外,您可能失去一些
摘要类别 = 是-a,《战略》=
Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...
Check this, List<String> list = new ArrayList<String>(); for (int i = 0; i < 10000; i++) { String value = (""+UUID.randomUUID().getLeastSignificantBits()).substring(3, ...
I am in the middle of solving a problem where I think it s best suited for a decorator and a state pattern. The high level setting is something like a sandwich maker and dispenser, where I have a set ...
I have been trying to execute a MS SQL Server stored procedure via JDBC today and have been unsuccessful thus far. The stored procedure has 1 input and 1 output parameter. With every combination I ...
I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...
If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...
I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....
I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...