mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-10-13 14:16:02 +00:00
Double Dispatch example improvements.
This commit is contained in:
1 parent
648ead096c
commit
082f4730ee
2 files changed
+16
-8
No files matched your search
@@ -13,21 +13,21 @@ public class Meteoroid extends GameObject {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collisionResolve(FlamingAsteroid asteroid) {
|
public void collisionResolve(FlamingAsteroid asteroid) {
|
||||||
System.out.println(String.format("%s hits %s", asteroid.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
System.out.println(String.format("%s hits %s.", asteroid.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collisionResolve(Meteoroid meteoroid) {
|
public void collisionResolve(Meteoroid meteoroid) {
|
||||||
System.out.println(String.format("%s hits %s", meteoroid.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
System.out.println(String.format("%s hits %s.", meteoroid.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collisionResolve(SpaceStationMir mir) {
|
public void collisionResolve(SpaceStationMir mir) {
|
||||||
System.out.println(String.format("%s hits %s", mir.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
System.out.println(String.format("%s hits %s.", mir.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collisionResolve(SpaceStationIss iss) {
|
public void collisionResolve(SpaceStationIss iss) {
|
||||||
System.out.println(String.format("%s hits %s", iss.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
System.out.println(String.format("%s hits %s.", iss.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -13,26 +13,34 @@ public class SpaceStationMir extends GameObject {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collisionResolve(FlamingAsteroid asteroid) {
|
public void collisionResolve(FlamingAsteroid asteroid) {
|
||||||
System.out.println(String.format("%s hits %s", asteroid.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
System.out.println(String.format("%s hits %s. %s is damaged! %s is set on fire!",
|
||||||
|
asteroid.getClass().getSimpleName(), this.getClass().getSimpleName(),
|
||||||
|
this.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
||||||
setDamaged(true);
|
setDamaged(true);
|
||||||
setOnFire(true);
|
setOnFire(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collisionResolve(Meteoroid meteoroid) {
|
public void collisionResolve(Meteoroid meteoroid) {
|
||||||
System.out.println(String.format("%s hits %s", meteoroid.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
System.out.println(String.format("%s hits %s. %s is damaged!",
|
||||||
|
meteoroid.getClass().getSimpleName(), this.getClass().getSimpleName(),
|
||||||
|
this.getClass().getSimpleName()));
|
||||||
setDamaged(true);
|
setDamaged(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collisionResolve(SpaceStationMir mir) {
|
public void collisionResolve(SpaceStationMir mir) {
|
||||||
System.out.println(String.format("%s hits %s", mir.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
System.out.println(String.format("%s hits %s. %s is damaged!",
|
||||||
|
mir.getClass().getSimpleName(), this.getClass().getSimpleName(),
|
||||||
|
this.getClass().getSimpleName()));
|
||||||
setDamaged(true);
|
setDamaged(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void collisionResolve(SpaceStationIss iss) {
|
public void collisionResolve(SpaceStationIss iss) {
|
||||||
System.out.println(String.format("%s hits %s", iss.getClass().getSimpleName(), this.getClass().getSimpleName()));
|
System.out.println(String.format("%s hits %s. %s is damaged!",
|
||||||
|
iss.getClass().getSimpleName(), this.getClass().getSimpleName(),
|
||||||
|
this.getClass().getSimpleName()));
|
||||||
setDamaged(true);
|
setDamaged(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in new issue
Block a user