Vor kurzem habe ich an meiner Java-basierten Schachanwendung gearbeitet, wo ich ein abstraktes Cheswerk Klassenklasse wie folgt hatte:
Code: Select all
public abstract class ChessPiece {
// ... some common fields
public abstract ChessPositionCoorinate getChessPositionCoorinate();
public abstract Colour getColour();
/**
* Provides the name of the chess piece.
*/
public abstract String getName();
}
Ich habe diese Klasse in Schachstücken wie King , Queen und anderen erweitert. Ich meine, wenn eine Klasse King die Chespiece -Klasse erweitert, muss die Methode von GetName () weiterhin überschreiben, sodass es in jeder Instanz von King .
Code: Select all
public abstract class ChessPiece {
// ... some common fields
public abstract ChessPositionCoorinate getChessPositionCoorinate();
public abstract Colour getColour();
/**
* Provides the name of the chess piece.
*/
public static abstract String getName();
}
Dann könnten alle Unterklassen es überschreiben, und es würde kein zusätzliches Gedächtnis besetzen, da es sich für jede Unterklasse auf der Klassenebene befinden würde.>