3. cviceni ========== * dochazka * opakovani zakladnich pojmu - trida, instance - atribut, promenna, konstanta - metoda, parametry, pretizeni metod - primitivni vs. objektove datove typy - vytvareni instanci, konstruktory - konvence pro pojmenovani - baliky - viditelnost * konzultace k 1. uloze * nejasnosti? dotazy? * staticke atributy a metody * ruzna pouziti final * predavani parametru metodam - hodnotou (primitivni datove typy) - odkazem (objekty, pole) => immutable objekty => defenzivni pristup * pretypovani - syntaxe - ztrata presnosti - autoboxing ! rozhrani - mnozina nekolika konkretnich metod bez jejich implementace - rozhrani obsahuje pouze signatury metod a atributy rozhrani - metody uvedene v rozhrani jsou implicitne public - nahrada vicenasobne dedicnosti, ktera je velmi osemetna - jedno rozhrani muze implementovat vice trid - jedna trida muze implementovat vice rozhrani - trida musi implementovat vsechny metody uvedene v rozhrani - pokud trida neimplementuje nejakou metodu, musi byt abstraktni - implementovana rozhrani nemusi korespondovat s hierarchii trid - rozhrani jako referencni typ * reprezentace preddefinovane barvy - cerna, bila, cervena, modra, zelena * vytvoreni nemenitelne tridy reprezentujici kruznici - atributy stred, polomer a barva - odpovidajici konstruktor - set a get metody pro jednotlive atributy - metody pocitajici obvod a obsah - metoda toString() - citac vytvorenych instanci - metoda pro zjisteni poctu vytvorenych instanci * trida pro demonstraci - pouziti metody main() - vytvoreni nekolika instanci tridy Circle - vypis jejich reprezentace na standardni vystup * mozne upravy - nemenitelna trida Circle * poznamky k 1. uloze ! deadline ! odevzdavani uloh (odevzdavane tridy) ! plagiatorstvi * zadani 2. ulohy