Я новичок в программировании и ООП, поэтому, пожалуйста, простите меня за недостаток знаний.
В рамках моей игры «Камень, ножницы и бумага» я хотел бы создать абстрактный суперкласс (оружие), который имеет подклассы (камень, ножницы, бумага) в VB.NET. Я нашел эквивалент 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
Конец класса
Может ли кто-нибудь исправить код, чтобы можно было сравнивать объекты «Камень», «Ножницы» и «Бумага». Любая помощь будет принята с благодарностью.
Спасибо