----------------------------------------------------MAGAZYN--------------------------------------------------------
Autor: Agata Les
Data utworzenia: 09-06-2011r.
Programowanie Obiektowe Laboratorium – projekt zaliczeniowy
Cel utworzenia projektu
Zaliczenie na ocenę pozytywną laboratorium z programowania obiektowego. Oraz prośba taty.
Funkcjonalność programu
Program ma na celu prowadzenie bieżącej nawigacji przepływu materiałów budowlanych
w magazynie. Posiada on następujące funkcje:
Wczytuje do pamięci bazę danych
Wyświetla pełen stan magazynu
Zapisuje do pliku pełen stan magazynu łącznie z datą
Wyświetla stan poszczególnych materiałów
Modyfikuje bazę danych dodając i odejmując ilość towarów
Krótka (anty)reklama
Największą zaletą programu jest jego prostota i szybkość działania. Nie został on skonstruowany do prowadzenia pełnych rozliczeń magazynowych. Jest jednak przydatny dla szybkiego podglądu, co się w magazynie znajduje, zmodyfikowania danych i zapisania do pliku. Zawartość bazy danych jest wczytywana i zapisywana automatycznie, co pozwala na ciągłość użytkowania.
Największą jego wadą jest brak możliwości dopisywania nowych materiałów z poziomu użytkownika.
Struktura wewnętrzna
Strukturę klas reprezentuje poniższy diagram:
Struktura jest bardzo prosta i przejrzysta. Wszystkie klasy dziedziczą od klasy abstrakcyjnej produkt publicznie, pośrednio lub bezpośrednio. Ważne jest również, że klasy, takie jak cegla lub dachowka nie posiadają własnych obiektów. Mijałoby się to z celem, ponieważ do danych magazynowych potrzebne są ilości konkretnych typów. Każda inna klasa ma swój statyczny obiekt, na rzecz którego wykonywane są funkcje. W klasach znajduje się tylko jedna funkcja składowa, dotycząca wyświetlenia ilości konkretnego materiału. Wszystkie inne funkcje, takie jak wyświetlanie menu, zmiana stanu magazynu, wyświetlanie bieżącej ilości materiałów, są zawarte w osobnym pliku zawierającym funkcje i zostały zaprzyjaźnione z klasami.
Elementy programowania obiektowego
Elementy programowania obiektowego, które składają się na niniejszy program, zostały ściśle dobrane w celu zapewnienia optymalnej pracy programu.
Klasa podstawowa produkt jest klasą abstrakcyjną, zawierającą funkcję wirtualną. Posiada składniki protected które mogą zostać odziedziczone i wykorzystane przez metody klas, oraz przez funkcje zewnętrzne, które zostały z klasami zaprzyjaźnione.
Występuje przesłanianie metody stan w klasach pochodnych, celem tego jest wyświetlanie właściwego komunikatu na konsoli. Gdyby jednak zdarzyło się zbudować nową klasę i zapomnieć
o zdefiniowaniu funkcji, wtedy uruchamiana jest metoda z klasy podstawowej.
Zakończenie
Przygotowany program posiada wszelkie znamiona użyteczności, pomimo, że nie mógł zostać w pełni dopracowany. W kolejnych wersjach programu można bez trudu dokonywać poprawek.