A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
Előző változat mindkét oldalon Előző változat Következő változat | Előző változat Utolsó változat Következő változat mindkét oldalon | ||
oktatas:programozas:tiszta_kod [2023/12/03 19:18] admin [Open/Closed Principle] |
oktatas:programozas:tiszta_kod [2023/12/24 20:52] admin [Liskov substitution principle] |
||
---|---|---|---|
Sor 2008: | Sor 2008: | ||
Nem minden karakter varázsol. | Nem minden karakter varázsol. | ||
+ | |||
+ | === LSP ok === | ||
+ | |||
LSP-nek megfelelő változat: | LSP-nek megfelelő változat: | ||
+ | |||
+ | <code java Karakter.java> | ||
+ | public interface Karakter { | ||
+ | public void eszik(); | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code java Magus.java> | ||
+ | public interface Magus extends Karakter { | ||
+ | public void varazsol(); | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code java Harcos.java> | ||
+ | public interface Harcos extends Karakter { | ||
+ | public void harcol(); | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | <code java FeherMagus.java> | ||
+ | public class FeherMagus implements Magus { | ||
+ | |||
+ | @Override | ||
+ | public void eszik() { | ||
+ | System.out.println("eszik"); | ||
+ | } | ||
+ | |||
+ | @Override | ||
+ | public void varazsol() { | ||
+ | System.out.println("varázsol"); | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
<code java App.java> | <code java App.java> | ||
- | class Karakter {} | + | public class App { |
- | class Magus { | + | public static void main(String[] args) throws Exception { |
- | public void varazsol() | + | Magus imreMagus = new FeherMagus(); |
+ | imreMagus.varazsol(); | ||
+ | } | ||
} | } | ||
- | class Harcos extends Karakter {} | ||
</code> | </code> | ||
+ | Forrás: | ||
+ | * https://tusharghosh09006.medium.com/liskov-substitution-principle-lsp-744eceb29e8 (2023) | ||
==== Interface segregation principle ==== | ==== Interface segregation principle ==== | ||