Delphi-Quellcode:
Type IDamageable = interface
function TakeDamage(Mode, Damage: integer): integer;
function GetDamageMode: integer;
procedure DirectDamage(damage: integer);
so besser?
dann müsste jedes Objekt, das Schaden nehmen kann, IDamageable implementieren(ja, so heisst das):
Delphi-Quellcode:
type TCharacter = class(TEntity, IDamageable, ISomethingElse)
//hier irgendwas....
public //IDamageable
function TakeDamage(Mode, Damage: integer): integer;
function GetDamageMode: integer;
procedure DirectDamage(damage: integer);
public //ISomethingElse
function WhatEver():TSomeType;
Jeder, der Schaden zufügen will, braucht sich dann nur das IDamgeable-Interface von einem TCharacter zu holen, und kriegt vom Rest nix mit. Ein sehr schöner Weg, um das Sichtbarkeitsprinzip von
OOP umzusetzen, und für verteilte Projekte mit mehreren Entwicklern ("Gib mir nur das Interface...") fast unumgänglich.
Das als kleine Einführung in Interfaces
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1