Grüße. Ich habe die folgende Klasse:C# Klassenvererbung
public class Ship
{
public enum ValidShips
{
Minesweeper,
Cruiser,
Destroyer,
Submarine,
AircraftCarrier
}
public enum ShipOrientation
{
North,
East,
South,
West
}
public enum ShipStatus
{
Floating,
Destroyed
}
public ValidShips shipType { get; set; }
public ShipUnit[] shipUnit { get; set; }
public ShipOrientation shipOrientation { get; set; }
public ShipStatus shipStatus { get; set; }
public Ship(ValidShips ShipType, int unitLength)
{
shipStatus = ShipStatus.Floating;
shipType = ShipType;
shipUnit = new ShipUnit[unitLength];
for (int i = 0; i < unitLength; i++)
{
shipUnit[i] = new ShipUnit();
}
}
}
Ich möchte diese Klasse erben wie so:
public class ShipPlacementArray : Ship
{
}
das macht Sinn.
was ich gerne wissen würde ist, wie entferne ich bestimmte Funktionalität der Basisklasse?
zum Beispiel:
public ShipUnit[] shipUnit { get; set; } // from base class
ich würde es gerne sein:
public ShipUnit[][] shipUnit { get; set; } // in the derived class
meine Frage ist, wie ich den Code implementieren, die die Basisklasse verbirgt vollständig shipUnit?
sonst werde ich mit zwei ShipUnit-Implementierung in der abgeleiteten Klasse enden.
danke für Ihre Zeit.
ShipPlacementArray behandelt nur ein Schiff. aber das Array spiegelt die Richtungen wider, in die das Schiff platziert werden kann.
Wow, es sieht so aus, als ob ein Ahole durchgekommen ist und die Antworten aller abgelehnt hat. – AaronLS