Zaprojektować, zaimplementować i zademonstrować w praktyce użycie klas realizujących poniższe wytyczne:
Klasa rozwiązująca równanie Ax2 + Bx + C = 0, klasa ma mieć:
właściwości publiczne: A, B, C - do zapisu i odczytu.
właściwości publiczne: Delta, Wynik - do odczytu; .
każdorazowa zmiana właściwości A,B,C wyzwala obliczenie wyniku/wyników dla bieżących wartości.
Klasa wizualizująca tabliczkę mnożenia, klasa ma mieć:
właściwości publiczne: Row1, Row2, Col1, Col2 - do zapisu i odczytu (oznaczające zakresy pożądanych wierszy i kolumn).
każdorazowa zmiana w/w właściwości wyzwala przygotowanie wizualizacji tabliczki mnożenia dla bieżących wartości Row1, Row2, Col1, Col2.
Utworzyć jedno menu kontekstowe z zestawem poleceń typu: "Kolor", "Font", "Tło", "Dodaj nowy", ... (min. 5).
Polecenia mają wykonywać się poprawnie i w sposób selektywny dla kilku rodzajów kontrolek (min. 5) do których menu zostanie przypisane.
Klasa wizualizująca tablice matematyczne czterech funkcji trygonometrycznych, klasa ma mieć:
właściwości publiczne: Angle0, Angle1, DeltaAngle - do zapisu i odczytu (oznaczające zakresy i przyrost wartości kątów w stopniach).
każdorazowa zmiana w/w właściwości wyzwala przygotowanie wizualizacji tablic dla bieżących wartości Angle0, Angle1, DeltaAngle.
Klasy przetwarzające podstawowe dane osobowe, wykorzystujące rozszerzenie i/lub uszczegółowienie funkcjonalności w klasach potomnych, np.:
Osoba: imie ,nazwisko, płeć, data ur., ...
Uczeń: szkoła , oceny,...
Absolwent: rok ukończenia, nr dyplomu, ...
Pracownik: stanowisko, data zatrudnienia, płaca podstawowa ...
Dla systemu klas jak powyżej zaprojektować klasę Prezenter, z uniwersalną metodą prezentującą dane przekazanego jej jako argument obiektu. Wykorzystać metody wirtualne i rzutowanie klas.
Uwaga! Klasy mają mieć opcjonalnie własne konstruktory i destruktory.