Modelowanie Systemów Informacyjnych (MSI) - pjwstk
Modelowanie Systemów Informacyjnych (MSI) - pjwstk Modelowanie Systemów Informacyjnych (MSI) - pjwstk
Implementacja wielodziedziczenia z wykorzystanieminterfejsów (4)oCzęściowe rozwiązanie problemu wielokrotnej implementacjitych samych metod.Klasa PracującyStudentdziedziczy funkcjonalnośćpracownika i delegujefunkcjonalność studentado podłączonego obiektu.Innymi słowy: opakowujefunkcjonalność klasyStudent.getStypendium()getNumerIndeksu()«interface»IStudent+getStypendium()+getDochody()+getNumerIndeksu()1Student-Numer indeksu-Stypendium+getStypendium()+getDochody()+getNumerIndeksu()Osoba{abstract}-Imię-Nazwisko-Data urodzenia-/Wiek+getDochody()Pracownik-Badania lekarskie-Pensja+getPensja()+getDochody()Emeryt-Emerytura+getEmerytura()+getDochody()Pracujący student1+getStypendium()+getDochody()+getNumerIndeksu()Modelowanie Systemów Informacyjnych (MSI), wykład 10 38
Implementacja wielodziedziczenia z wykorzystanieminterfejsów (5)public class PracujacyStudent extends Pracownik implements IStudent {Student student;public PracujacyStudent(String imie, String nazwisko, Date dataUrodzenia, booleanbadaniaLekarskie, float pensja, int numerIndeksu, float stypendium) {super(imie, nazwisko, dataUrodzenia, badaniaLekarskie, pensja);student = new Student(imie, nazwisko, dataUrodzenia, numerIndeksu, stypendium);}public float getStypendium() {return student.getStypendium();}public void setStypendium(float stypendium) {student.setStypendium(stypendium);}public float getDochody() {return super.getDochody() + getStypendium();}public int getNumerIndeksu() {return student.getNumerIndeksu();}}oPewien niepokój może budzić pamiętanie niektórych atrybutów dwa razy(np. imię, nazwisko): raz w klasie PracujacyStudent, , a drugi raz wpodłączonym obiekcie klasy Student.Modyfikacja klasy Student,Przekazanie null’ido obiektu klasy Student.Modelowanie Systemów Informacyjnych (MSI), wykład 10 39
- Page 3 and 4: Dziedziczenie disjointModelowanie S
- Page 6 and 7: Problem biznesowy (2)o Najprostszym
- Page 8: Metody abstrakcyjneo Jaki kod będz
- Page 12: Pozostałe rodzaje dziedziczenia (4
- Page 15 and 16: Dziedziczenie, a obiektowe języki
- Page 17 and 18: Wykorzystanie polimorficznego woła
- Page 19 and 20: Wykorzystanie polimorficznego woła
- Page 21 and 22: Realizacja dziedziczenia overlappin
- Page 23 and 24: Realizacja dziedziczenia overlappin
- Page 25 and 26: Realizacja dziedziczenia overlappin
- Page 27 and 28: Realizacja dziedziczenia overlappin
- Page 29 and 30: Realizacja dziedziczenia overlappin
- Page 31 and 32: Polimorfizm w dziedziczeniu overlap
- Page 33 and 34: Implementacja wielodziedziczeniao W
- Page 35 and 36: Implementacja wielodziedziczenia z
- Page 37: Implementacja wielodziedziczenia z
- Page 41 and 42: Implementacja dziedziczenia wieloas
- Page 43 and 44: Implementacja dziedziczenia wieloas
- Page 45 and 46: Implementacja dziedziczenia dynamic
- Page 47 and 48: Implementacja dziedziczenia dynamic
- Page 49 and 50: Implementacja dziedziczenia dynamic
- Page 51 and 52: Implementacja dziedziczenia dynamic
- Page 53 and 54: Zalety i wady poszczególnych rozwi
Implementacja wielodziedziczenia z wykorzystanieminterfejsów (4)oCzęściowe rozwiązanie problemu wielokrotnej implementacjitych samych metod.Klasa PracującyStudentdziedziczy funkcjonalnośćpracownika i delegujefunkcjonalność studentado podłączonego obiektu.Innymi słowy: opakowujefunkcjonalność klasyStudent.getStypendium()getNumerIndeksu()«interface»IStudent+getStypendium()+getDochody()+getNumerIndeksu()1Student-Numer indeksu-Stypendium+getStypendium()+getDochody()+getNumerIndeksu()Osoba{abstract}-Imię-Nazwisko-Data urodzenia-/Wiek+getDochody()Pracownik-Badania lekarskie-Pensja+getPensja()+getDochody()Emeryt-Emerytura+getEmerytura()+getDochody()Pracujący student1+getStypendium()+getDochody()+getNumerIndeksu()<strong>Modelowanie</strong> Systemów <strong>Informacyjnych</strong> (<strong>MSI</strong>), wykład 10 38