Modelowanie Systemów Informacyjnych (MSI) - pjwstk

Modelowanie Systemów Informacyjnych (MSI) - pjwstk Modelowanie Systemów Informacyjnych (MSI) - pjwstk

users.pjwstk.edu.pl
from users.pjwstk.edu.pl More from this publisher
13.07.2015 Views

Polimorfizm w dziedziczeniu overlappingo Która wersja metody (z której klasy) powinnabyć wywołana?Osoba-Imię-Nazwisko-Data urodzenia-/Wiek+getDochody()10..1Pracownik-Badania lekarskie-Pensja+getPensja()+getDochody()0..1Student-Numer indeksu-Stypendium+getStypendium()+getDochody()0..1Emeryt-Emerytura+getEmerytura()+getDochody()o Chyba żadna…Modelowanie Systemów Informacyjnych (MSI), wykład 10 30

Polimorfizm w dziedziczeniu overlapping (2)oTrzeba stworzyć nową metodę, która w zależności odrodzajów(!) obiektów, uwzględni odpowiednie dochody(!)public float getDochody() throws Exception {float dochody = 0.0f;if(this.czySaPowiazania(nazwaRoliPracownik)) {// Jest pracownikiem. Znajdz obiekt opisujacy pracownika.ObjectPlusPlus[] obj = this.dajPowiazania(nazwaRoliPracownik);// ==> dolicz dochody pracownikadochody += ((Pracownik) obj[0]).getDochody();}if(this.czySaPowiazania(nazwaRoliStudent)) {// Jest studentem. Znajdz obiekt opisujacy studenta.ObjectPlusPlus[] obj = this.dajPowiazania(nazwaRoliStudent);// ==> dolicz dochody studentadochody += ((Student) obj[0]).getDochody();}}if(this.czySaPowiazania(nazwaRoliEmeryt)) {// Jest emerytem. Znajdz obiekt opisujacy emeryta.// [...]}return dochody;Modelowanie Systemów Informacyjnych (MSI), wykład 10 31

Polimorfizm w dziedziczeniu overlappingo Która wersja metody (z której klasy) powinnabyć wywołana?Osoba-Imię-Nazwisko-Data urodzenia-/Wiek+getDochody()10..1Pracownik-Badania lekarskie-Pensja+getPensja()+getDochody()0..1Student-Numer indeksu-Stypendium+getStypendium()+getDochody()0..1Emeryt-Emerytura+getEmerytura()+getDochody()o Chyba żadna…<strong>Modelowanie</strong> Systemów <strong>Informacyjnych</strong> (<strong>MSI</strong>), wykład 10 30

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!