相关疑难解决方法(0)

如果你可以使用接口和特性,为什么PHP有抽象类?

今天早些时候,我正在研究PHP的抽象类,接口特性.

据我所知,一个抽象类说"任何使用我的东西都将使用这些方法和属性",接口说"任何使用我的东西都必须有这些方法和属性",并且特征说"任何使用我的东西也会有这些方法"和属性".

现在,我的问题是,如果在使用接口和特征时获得等效的抽象类,为什么还有抽象类?

如果我错了,界面和特征不等同于抽象类,你能解释一下为什么不是这样吗?

php abstract-class interface traits

19
推荐指数
2
解决办法
5205
查看次数

你如何决定使用抽象类和接口?

重复:接口与基类


我已经深入了解OOP,设计模式和动作脚本3的世界,我仍然很好奇如何知道何时使用Abstract类(对于不支持Abstract类的AS3的伪)和接口.对我来说,两者都只是作为模板来确保在给定的类中实现某些方法.区别仅在于抽象类需要继承而接口只是扩展吗?

谢谢,Brian Hodge hodgedev.com

oop abstract-class interface actionscript-3

17
推荐指数
2
解决办法
2万
查看次数

java中抽象类的一些实际例子是什么?

何时以及为什么要使用抽象类?我想看看它们用途的一些实际例子.另外,抽象类和接口有什么区别?

java oop abstract-class

17
推荐指数
3
解决办法
3万
查看次数

为什么我们需要C++中的抽象类?

我刚刚在OOP类中了解了多态性,并且我很难理解抽象基类是如何有用的.

抽象类的目的是什么?定义一个抽象基类提供了什么,而不是通过在每个实际类中创建每个必需的函数来提供?

c++ oop inheritance abstract-class

15
推荐指数
3
解决办法
3万
查看次数

接口,抽象类,密封类,静态类和C#中的部分类之间的区别?

接口,抽象类,密封类,静态类和c#中的部分类之间的区别?如果所有类都在vb.net中可用?

c#

13
推荐指数
3
解决办法
7万
查看次数

无法理解需要使Process.java抽象化

我随便走过Java核心类的源代码.我发现该Process.java文件是一个public abstract类.当我通过代码没有功能有定义.这是否意味着它应该被声明为Interface.背后是否有任何故意的理由.有人可以帮助我了解这种设计的需要.

链接到代码

java design-patterns

13
推荐指数
1
解决办法
343
查看次数

Java抽象类和接口

在采访中我被问到以下问题.我试着回答这个问题,但我想要问题的确切答案.

如果我可以将Abstract类模拟为Interface,为什么java提供了Interface?

这意味着如果在Abstract类中我可以将所有方法标记为抽象,然后抽象类将作为接口工作,那么为什么我需要接口.

任何人都可以简要解释一下.

java abstract-class interface class

12
推荐指数
1
解决办法
3727
查看次数

OOP接口点

可能重复:
接口与抽象类(通用OO)

编辑: 我刚刚阅读了"可能重复"的问题和答案,我觉得有人认为这两个问题甚至相似,我感到非常难过......但是,哦......

-------------------------------------------------- -----------------------

大家好,我试图了解OOP范例中的接口.我知道抽象类和接口之间的区别,我也知道接口基本上允许简单的多继承行为和设计,但我没有得到的是"承诺原则".我的意思是,接口应该是实现接口的类实现所有接口方法的承诺.

我不明白的是,每当我们调用它的方法时,我们是否必须检查类是否实现了与instanceOf的接口?没有阅读文档,你不知道一些类实现接口.如果您阅读代码而不是您可以看到自己已定义了该方法,您可以调用它吗?!

如果我有

案例A.

class Ball{
function kick(){...};
}
Run Code Online (Sandbox Code Playgroud)

或案例B.

interface Kickable{
function kick;
}

class Ball implements Kickable{
function kick(){...};
}
Run Code Online (Sandbox Code Playgroud)

唯一的区别是,在A情况下我会在调用一个不存在的方法时遇到错误("在运行时"),如果是B,我会在尝试运行代码时遇到此错误编译".运行时和编译肯定在这里使用错误(PHP环境).

我记得在Java中有一个Runnable接口可以启用线程.为什么我们必须实现一个Runnable接口,然后在该类中定义run()方法?我的意思是,类可以有一个没有实现接口的Run方法,并且有办法检查类是否定义了特殊方法.好吧,也许我的Java部分问题有点令人困惑:)))

对于这样一个令人困惑的问题我很抱歉,但我希望有人在理解中遇到这些问题,现在他可以分享他的结论:)

谢谢,卢卡

php oop interface multiple-inheritance

11
推荐指数
1
解决办法
901
查看次数

对JAVA界面感到困惑

可能重复:
"编程到接口"是什么意思?
接口与抽象类(通用OO)

我是新手学习JAVA,现在我对界面感到困惑.我搜索并阅读了很多材料,但仍然不清楚.

当我试图找到有关接口的一些信息时,我看到许多人谈到了接口和抽象类之间的关系.但我甚至不知道为什么他们会对比这两者.因为我认为抽象类用于告诉其他人你无法创建这个抽象类的对象,如果需要,你必须修改抽象类.这是关于继承的事情,对吧?

但我不知道界面的含义.有一个interface a,如果class B要实现接口a,它必须使用保留字class B implements a,然后完成接口所需的所有方法.但我的问题是,如果B类必须自己完成所有方法,接口的含义是什么?我想我们不需要它.我不太了解它.我读了很多句子:"界面可以反映面向对象语言的核心思想","界面可以帮助使程序更容易"等等.但我无法理解其含义.

那么,有没有人可以向我展示一些让我们理解界面的例子?或者你可以告诉我一些有用的链接或清楚描述界面的书籍.我真的希望弄明白.谢谢!

java interface

10
推荐指数
1
解决办法
1612
查看次数

抽象类如何引用但不引用对象?

请注意,您不能构造抽象类的对象,但仍可以使用类型为抽象类的对象引用.当然,它引用的实际对象必须是具体子类的实例:

Account anAccount; // OK
anAccount = new Account(); // Error—Account is abstract
anAccount = new SavingsAccount(); // OK
anAccount = null; // OK
Run Code Online (Sandbox Code Playgroud)

不明白为什么你可以有一个抽象类的对象引用...

java polymorphism class abstract

10
推荐指数
1
解决办法
8759
查看次数