There are no translations available.
přednášející: Ing. Josef Pavlíček, Ph.D.
Poznámky
Prvky algoritmu
- sekvence
- selekce
- iterace
Zásady
- programovat proti rozhraní (kontraktu)
- důsledné zapouzdření a skrývání implementace
- zapouzdřit a odpoutat části kódu, které by se mohly měnit
- upřednostňovat skládání před dědičností
- maximalizovat soudržnost balíčků
- minimalizovat vzájemnou provázanost entit
- vyhýbat se duplicitnímu kódu
- nepodřizovat návrh snahám o maximální efektivitu
Projekt
Zkouška
V rámci zkoušky má student za úkol naprogramovat jednoduchý program podle zadání zkoušejícího.
Povoleno je použití libovolných zdrojů včetně Internetu.
Ideální je přinést si vlastní laptop s nainstalovaným vývojovým prostředím.
Hodí se jak pro vytvoření požadovaného programu, tak pro prezentaci projektu.
(BTW p.Pavlíček doporučuje používat Eclipse, nicméně pro začátečníky /kterých u nás v kruhu byla drtivá většina/ se mi osobně jeví vhodnější Netbeans.)
Moje zadání:
Naprogramovat interface Auto s metodou pro vrácení maximální rychlosti.Vytvořit dvě různé třídy implementující tento interface a pak na obou těchto třídách zjistit maximální rychlost prostřednictvím interface Auto.
Moje řešení:
Auto.java
package zkouskaauta; public interface Auto { public String getName(); // tohle je tu z pohledu zkousky navic public int getMaxSpeed(); }
Trabant.java
package zkouskaauta; public class Trabant implements Auto { public String getName() { return "Trabant"; } public int getMaxSpeed() { return 70; } }
BugattiVeyron.java
package zkouskaauta; public class BugattiVeyron implements Auto { public String getName() { return "Bugatti Veyron"; } public int getMaxSpeed() { return 400; } }
Main.java
package zkouskaauta; import java.util.ArrayList; import java.util.List; /** * * @author Jan Tomsa */ public class Main { private Trabant trabant = new Trabant(); private BugattiVeyron bugattiVeyron = new BugattiVeyron(); private List<Auto> auta = new ArrayList<Auto>(); /** * @param args the command line arguments */ public static void main(String[] args) { Main main = new Main(); main.execute(); } private void execute() { auta.add(trabant); auta.add(bugattiVeyron); System.out.println("===== Auta ===="); for( Auto auto : auta ) { System.out.println("Auto [" + auto.getName() + "] - max. speed: " + auto.getMaxSpeed() + " km/h"); } } }