作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这个问题很长时间了,但是所有回答我的人都没有给我正确的答案。我认为这些接口(interface)在 OOP 语言中用于多态性,并且在如下情况下我不明白如何处理它,
[在Java中]
让我们采用以下接口(interface)和两个类,
public interface Vehicle{
public int noOfWheels();
public String movingMethod();
}
public class Car implements Vehicle{
public int noOfWheels(){
return 4;
}
public String movingMethod(){
return "Drive";
}
}
public class Flight implements Vehicle{
public int noOfWheels(){
return 5;
}
public String movingMethod(){
return "Fly";
}
//a behaviour only applicable to a flight
public int noOfWings(){
return 5;
}
}
=======================================
simulation
Vehicle v1 = new Car();
System.out.println(v1.noOfWheels());
System.out.println(v1.movingMethod);
Vehicle v2 = new Flight();
System.out.println(v2.noOfWheels());
System.out.println(v2.movingMethod);
System.out.println(v2.noOfWings());//this is not working as Vehicle interface doesn't have this method.
最佳答案
我不是 100% 知道您的问题是什么,但您似乎在问如何向基本接口(interface)表达其他行为。值得知道一个接口(interface)可以扩展另一个接口(interface):
public interface Aircraft extends Vehicle {
public int noOfWings();
}
Aircraft
的类将需要实现
Vehicle
声明的方法以及
noOfWings
.
关于java - 如何在 OOP 语言中正确使用接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13813576/
我是一名优秀的程序员,十分优秀!