Polimorfizm z czym sie to je?

Odpowiedz Nowy wątek
2014-12-19 20:27
Szybki Roland
0

Witam

Ucze sie javy namietnie i zatrzymałem sie na polimorfizmie wiec co to oznacza moze ktos podac jakies praktyczne zastosowanie tego polimorfizmu?

Pozostało 580 znaków

2014-12-19 21:02
2

daj sobie spokój jak nie umiesz korzystać z internetu wyszukać nawet tak prostej rzeczy. 1000x było


PROGRAMY NA ZAMÓWIENIE, ZALICZENIA STUDENCKIE, KONFIGURACJA SERWERÓW, SYSTEMÓW I BAZ DANYCH, STRONY INTERNETOWE, POMOC W PROGRAMOWANIU, POPRAWIENIE I OPTYMALIZACJA APLIKACJI
JAVA, C++, LINUX, WWW, SQL, PYTHON
POSIADAM KOMERCYJNE DOŚWIADCZENIE
TANIO, SZYBKO I PORZĄDNIE
Z KOMENTARZAMI OBJAŚNIAJĄCYMI KOD
PISZ NA PRYWATNĄ WIADOMOŚĆ
CENY JUŻ OD 49,99ZŁ ZA PROGRAM
ZAJMIJ SIĘ TYM CO CIĘ NAPRAWDĘ INTERESUJE!

Pozostało 580 znaków

2014-12-19 21:02
2014-12-19 21:11
Szybki Roland
0

Dzieki, poza tym Karolina swoja rade możesz wsadzic sobie w buty. Ja nie z tych co sie szybko poddaja ;P

ty z tych, którzy nigdy sobie sami nie poradzą. - spartanPAGE 2014-12-19 21:14

Pozostało 580 znaków

2014-12-19 21:19
1

ż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

edytowany 1x, ostatnio: azalut, 2014-12-19 21:21
jako przykład okej, ale w realnej sytuacji lepiej byłoby dorobić właściwość "wzrost"(czy raczej "height", ale mniejsza o to), niż dziedziczyć tylko dlatego, że ktoś jest wyższy/niższy. - LukeJL 2014-12-19 21:21
chociaż... nie wiem czy to nawet dobry przykład. Polimorfizm głównie ma swoje zalety kiedy mamy klasę A, B i C i każda ma taką samą metodę, ale każda robi co innego, inaczej strzela. Np. kot.dajGłos(), będzie miauczał, a pies.dajGłos() będzie hauczał. - LukeJL 2014-12-19 21:24
wiem, chciałem podać prosty przykład :) ostatnio np doszedłem do wniosku, że tłumaczenie dziedziczenia i polimorfizmu na przykładzie rodziny jest bardzo mylące :P - azalut 2014-12-19 21:24
@LukeJL wg mnie przykład jest ok bo pokazuje jak to mniej-wiecej wygląda, dla kogos nowego im prościej tym lepiej, a z czasem i tak sam sie dowie o co tu biega; oczywiscie w tym co mowisz masz racje - azalut 2014-12-19 21:29
ten bold teskt, to jest 90% Twoich postów, więc dobrze, że się uczysz ;) - NoZi 2014-12-20 05:16
oj @NoZi.. ;) to ile pytam, w porównaniu do tego ile szukam to na prawdę nic, a że ty mnie śledzisz.. :D - azalut 2014-12-20 10:29

Pozostało 580 znaków

2014-12-20 12:11
1

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.

Pozostało 580 znaków

2014-12-20 12:37
0

Jest podobne pytanie na stackoverflow: http://stackoverflow.com/ques[...]-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 ;)

Pozostało 580 znaków

2014-12-20 12:49
1

@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/b[...]r-contribute-to-stackoverflow


Na PW przyjmuje tylko (ciekawe!) zlecenia. Masz problem? Pisz na forum, nie do mnie.
edytowany 1x, ostatnio: Shalom, 2014-12-20 12:50
W popularnych działach to trzeba mieć niezły timing, czasami odpowiedzi pojawiają się po niecałej minucie :D - airborn 2014-12-20 23:32

Pozostało 580 znaków

2014-12-20 13:26
0

@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/ques[...]ne-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ź.

Bez żartów. Punkty na 4p, podobnie jak na stacku, są raczej niewiele warte w kontekście oceny użytkownika ;] Ot taka ciekawostka, nic więcej. Ich celem jest promowanie postów -> ktoś kto wchodzi z google może teoretycznie szybciej znaleźć post który najlepiej odpowiada na postawiony problem. - Shalom 2014-12-20 13:30

Pozostało 580 znaków

2014-12-20 17:36
0

@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 :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0