gpt4 book ai didi

java - 如何在 OOP 语言中正确使用接口(interface)

转载 作者:行者123 更新时间:2023-12-04 05:19:33 25 4
gpt4 key购买 nike

我有这个问题很长时间了,但是所有回答我的人都没有给我正确的答案。我认为这些接口(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com