Wpis z mikrobloga

@h1h3t: zrób sobie jakieś pola z dupy, i przetestuj w idę, a tak btw to naucz się interfejsow, a jeśli chodzi o przypadki to zależy co chcesz uzyskać i do jakich składowych klas chcesz mieć dostęp nie ma recepty że używaj tak i juz
@h1h3t:
„Jaka jest roznica pomiedzy tworzeniem nowego obiektu Person x = new Footballer() a Footballer x = new Footballer()? Footballer jest rozszerzeniem osoby oczywiscie, w jakich przypadkach ktorego zapisu uzywac?

Jeśli zrobisz Person x = new Footballer() to jest up-casting. Obiekt x pomimo tego, ze pochodzi z klasy Footballer to będzie miał dostęp tylko do zmiennych i metod klasy rodzica (czyli Person)

Tu jest fajnie opisane :) - http://www.corejavaguru.com/blog/java/new-child
@h1h3t: Deklarujesz zmienne różnego typu Person i Footballer np. Person someone, Footballer messi.
Typ zmiennej określa jakie operacje (bez rzutowania) możesz robić na tej zmiennej - czyli na someone masz dostępne składowe z klasy Person, messi masz dostępne składowe z klasy Footballer.

somone.givePersonName()
messi.kickBall();

Natomiast możesz przypisać "dokładniejszy" obiekt (czyli taki który dziedziczy/rozszerza jakąś klasę np. Footballer dziedziczy po Person i np. w klasie Footballer masz jeszcze pole String club którego