User Tools

Site Tools


oop:strategy_pattern

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
oop:strategy_pattern [2026/05/24 10:46] gthanosoop:strategy_pattern [2026/05/25 15:03] (current) – [Α. Προσέγγιση με Κληρονομικότητα] gthanos
Line 154: Line 154:
 Αν χρησιμοποιήσουμε κληρονομικότητα, θα έπρεπε να φτιάξουμε κλάσεις όπως ''WarriorWithSword'', ''WarriorWithBow'', ''KnightWithSword'' κ.λπ. Αν προσθέσουμε ένα νέο όπλο, πρέπει να φτιάξουμε δεκάδες νέες κλάσεις. Αν χρησιμοποιήσουμε κληρονομικότητα, θα έπρεπε να φτιάξουμε κλάσεις όπως ''WarriorWithSword'', ''WarriorWithBow'', ''KnightWithSword'' κ.λπ. Αν προσθέσουμε ένα νέο όπλο, πρέπει να φτιάξουμε δεκάδες νέες κλάσεις.
  
-<code java DifferentCharacters>+<code java DifferentCharacters.java>
 // Στατικό και δύσκαμπτο // Στατικό και δύσκαμπτο
 class WarriorWithSword extends Character { class WarriorWithSword extends Character {
Line 174: Line 174:
 Εδώ, ο χαρακτήρας έχει ένα όπλο που υλοποιείται μέσω του Strategy Pattern, αλλά δεν είναι άρρικτα συνδεδεμένος με το όπλο του. Το όπλο μπορεί να αλλάξει στην εξέλιξη του παιχνιδιού. Εδώ, ο χαρακτήρας έχει ένα όπλο που υλοποιείται μέσω του Strategy Pattern, αλλά δεν είναι άρρικτα συνδεδεμένος με το όπλο του. Το όπλο μπορεί να αλλάξει στην εξέλιξη του παιχνιδιού.
  
-<code java>+<code java ActionGame.java>
 // 1. Το Strategy Interface // 1. Το Strategy Interface
 interface WeaponBehavior { interface WeaponBehavior {
oop/strategy_pattern.1779619569.txt.gz · Last modified: 2026/05/24 10:46 by gthanos