Poznámky
Prezentace
Osnova
1
"Róbert Novotný"
  • Róbert Novotný
  • robert.novotny@upjs.sk
  • 22. 11. 2007
2
Dedenie konštruktorov
  • Trieda zdedí od svojho predka stav a chovanie (t. j. metódy a inštančné premenné)
    • za predpokladu, že nie sú private
    • cirkusový pes zdedí schopnosti štekať od klasického psa
  • Čo s konštruktormi?
    • konštruktory sa nededia!
3
Dedenie konštruktorov
  • public class Bod {
    • protected double x;
    • protected double y;


    • //..gettery a settery
  • }


4
Dedenie konštruktorov
  • public class Bod {
    • protected double x;
    • protected double y;


    • public Bod(double x, double y) {
    • this.x = x;
    • this.y = y;
    • }
    • //..gettery a settery
  • }


5
Dedenie konštruktorov
  • public class Bod {
    • ...
    • public Bod() {
    • //prazdny konstruktor
    • }
    • public Bod(double x, double y) {
    •   ...
    • }
    • ...
  • }


6
Dedenie konštruktorov
  • public class FarebnýBod extends Bod{
  • private String farba;
  • //gettery a settery
  • }


7
Dedenie konštruktorov
  • public FarebnýBod() {
    • //prazdny konstruktor
  • }
  • public FarebnýBod(double x, double y) {
  •   this.x = x;
  • this.y = y;
  • }
8
Dedenie konštruktorov
  • public FarebnýBod(double x, double y) {
  •   this.x = x;
  • this.y = y;
  • }
9
Dedenie konštruktorov
10
Dedenie konštruktorov
11
Dedenie konštruktorov
12
Dedenie konštruktorov
13
Dedenie konštruktorov
14
Dedenie konštruktorov
15
Dedenie konštruktorov - zhrnutie
  • Konštruktory sa na rozdiel od metód nededia
  • Pri volaní konštruktora sa zavolá rodičovský konštruktor, ktorý zavolá rodičovský konštruktor, ..., až kým neskončíme v Object-e
  • Volanie sa deje cez super() – buď jeho explicitným uvedením alebo automaticky
16
Pretypovanie
  • Ak máme hierarchiu tried, tak môžeme priraďovať len potomka do predka





  • existujú však prípady, keď môžeme priradiť predka do potomka
  • príklad: staré zoznamy v JDK 1.4
    • metóda get() na ArrayList-e vracala Object
17
Vráť mi môjho psííííška!
18
Pretypovanie
19
Pretypovanie
20
Pretypovanie smerom nahor
21
Zisťovanie typu premennej