我是编程和面向对象编程的新手,所以请原谅我知识的缺乏。
作为石头剪刀布游戏的一部分,我想在 VB.NET 中创建一个抽象父类(super class)(武器),它具有子类(石头、剪刀、布)。我找到了 JAVA 等效项:
public abstract class Weapon implements Comparable<Weapon> {
}
public class Paper extends Weapon {
@Override
public int compareTo(Weapon o) {
if (o instanceof Paper)
return 0;
else if (o instanceof Rock)
return 1;
return -1;
}
}
public class Rock extends Weapon {
@Override
public int compareTo(Weapon o) {
if (o instanceof Rock)
return 0;
else if (o instanceof Scissors)
return 1;
return -1;
}
}
public class Scissors extends Weapon {
@Override
public int compareTo(Weapon o) {
if (o instanceof Scissors)
return 0;
else if (o instanceof Paper)
return 1;
return -1;
}
}
我目前有以下内容:
Public MustInherit Class Weapons
Public Class Rock
Inherits Weapons
Public Function compareTo(ByVal Weapons As Object) As Integer
End Function
End Class
Public Class Paper
Inherits Weapons
Public Function compareTo(ByVal Weapons As Object) As Integer
End Function
End Class
Public Class Scissors
Inherits Weapons
Public Function compareTo(ByVal Weapons As Object) As Integer
End Function
End Class
下课
有人可以更正代码,以便可以比较石头、布和剪刀对象吗?任何帮助将不胜感激。
谢谢
最佳答案
像这样:
Public Class Rock
Inherits Weapons
Public Function compareTo(ByVal Weapons As Object) As Integer
If TypeOf Weapons Is Rock Then
Return 0
ElseIf TypeOf Weapons Is Scissors Then
Return 1
Else
Return -1
End If
End Function
End Class
' etc.
关于java - 在vb.net中使用IComparable来比较石头剪刀布游戏中的武器(与JAVA中的Comparable相同),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13963244/