Witam
Ucze sie javy namietnie i zatrzymałem sie na polimorfizmie wiec co to oznacza moze ktos podac jakies praktyczne zastosowanie tego polimorfizmu?
Witam
Ucze sie javy namietnie i zatrzymałem sie na polimorfizmie wiec co to oznacza moze ktos podac jakies praktyczne zastosowanie tego polimorfizmu?
daj sobie spokój jak nie umiesz korzystać z internetu wyszukać nawet tak prostej rzeczy. 1000x było
Dzieki, poza tym Karolina swoja rade możesz wsadzic sobie w buty. Ja nie z tych co sie szybko poddaja ;P
żeby wiedzieć co to polimorfizm, przede wszystkim musisz rozumieć co to obiekt i rozszerzanie obiektu o obiekt
przykładowa sytuacja: jest gra, chcesz mieć 3 graczy: NiskiGracz, SredniGracz, WysokiGracz i wszystkich trzymac w jednej liście która np. oznacza drużyne
Jeśli przerabiałeś już temat, to wiesz, że List
to interfejs generyczny. Co to znaczy? że miedzy strzałkami <>
musisz(wlasciwie to możesz, ale przyjmijmy ze musisz) podać typ, jaki ta lista bedzie trzymała.
Schemat:
abstract class Gracz{
String imie;
String nazwisko;
}
class NiskiGracz extends Gracz{}
class SredniGracz extends Gracz{}
class WysokiGracz extends Gracz{}
I teraz chcesz w jakiejś tam klasie mieć liste graczy. Gdybyś nie miał tej abstrakcyjnej klasy nadrzędnej
Gracz
nie miałbyś jak tam wrzucic 3 różnych obiektów. A tym czasem robisz liste typu Gracz i możesz wrzucac do niej kazdy obiekt ktory rozszerza klase Gracz
To samo tyczy sie deklaracji obiektu, chcac stworzyc obiekt typu NiskiGracz możesz to zrobic tak:
NiskiGracz ng = new NiskiGracz();
lub tak
Gracz g = new NiskiGracz();
Trzeba po prostu popisać, odpalić tutorial i załapiesz, choć zajmuje to chwile. To co dałem wyżej to właściwie taki shortcut, ale myśle, że dość jasny
no i przede wszystkim: **programując MUSISZ szukać informacji w google, może ci się wydawać, że twoj problem jest unsolvable, ale szczególnie na początku: na pewno znajdziesz odpowiedz w google, szukaj tam bo w 80% na tym sie opiera kodowanie **
Praktycznym zastosowaniem polimorfizmu może być np. wyliczanie ryzyka instrumentów finansowych. Dla różnych grup instrumentów (akcje, obligacje, surowce itd.) robi się to w trochę inny sposób. Można sobie stworzyć wtedy szablonowy kalkulator, który będzie klasą abstrakcyjną i dla poszczególnych grup zaimplementować już szczegóły, którymi się różni wyliczanka.
Jest podobne pytanie na stackoverflow: http://stackoverflow.com/questions/1031273/what-is-polymorphism-what-is-it-for-and-how-is-it-used
ma 141 punktów i zostało zadane przez gościa, który ma reputation score 7.7k(top 5%). Jak widać nie każdy musi się znać na wszystkim i nie każde pytanie ma oczywistą odpowiedź dla każego.
Ale ogólnie googlować warto ;)
@Wielki Szczur nie bądź śmieszny. Score na stacku nabija się poprzez odpowiadanie na proste pytania z popularnych działów. Wynik nie ma nic wspólnego z czyjąś wiedzą. Był kiedyś ciekawy wypis na blogu, ale nie mam linka pod ręką, gdzie gość opisywał jak wystukał sobie jakiś mega wysoki wynik na odpowiadaniu na temat Javy, a sam w ogóle tego języka nie znał... ;]
edit: mam http://michael.richter.name/blogs/why-i-no-longer-contribute-to-stackoverflow
@Shalom to zabawne, że jesteś moderatorem masz #2 score na tej stronie a jednocześnie negujesz system stackoverflow z grubsza podobny do 4Programmers ;)
Nie pisałem tylko o reputacji pytającego ale także o ocenach samego pytania które miało 141pkt. Też można to zdyskredytować ale już nie tak łatwo.
Z linka wynika, że jednak znał jave ale nie za bardzo lubił.
Znalazłem jego przypadkową odpowiedź: http://stackoverflow.com/questions/2387218/what-does-this-line-of-code-do/2387232#2387232 nie jest zła ale nic nowego wnosi za to dostała 92 pkt. W porównaniu z pytaniem, które ma 1pkt to przepaść. Więc problem z tym systemem jest i tu się z Tobą zgodzę :) na pewno brakuje powiązania pomiędzy punktami za pytanie i odpowiedź.
@Wielki Szczur, żeby zrozumieć jak działa system punktowy na SO czy 4p należy poznać troszeczkę psychologię i sposób zachowania użytkowników. W dużym skrócie użytkownicy o wyższych "rangach" są wybierani jako bardziej zaufani i zaczyna działać efekt kuli śniegowej. Najlepszym przykładem jest moja reputacja na devpytania.pl gdzie nie jestem aktywny już od dawien dawna, a jednak utrzymuję się na powierzchni.
Różnica pomiędzy 4p i SO leży w sposobie oceny odpowiedzi. SO jest jednak serwisem, w którym ocena silnie zależy od kolejności w jakiej się odpowiedziało. Rzadko późniejsze odpowiedzi zdobywają dużo ocen pozytywnych. Inna jest też filozofia związana z linkowaniem do tematów powtarzających się czy nie mających powiązania z głównym założeniem SO. Na 4p reguły są luźniejsze.
Dla tego mam prośbę koniec offtopu :)