ZSBD-2st-1.2-w4.tresc-1.1-Slajd7

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Podstawowe elementy obiektowego modelu danych

Podstawowe elementy obiektowego modelu danych


Modelem danych, który spełnia większość wymienionych wymagań jest model wypracowany dla obiektowych języków programowania. Model ten został zaadoptowany do potrzeb systemów baz danych.

Podstawowym pojęciem tego modelu jest pojęcie obiektu, który umożliwia reprezentowanie cech strukturalnych i behawioralnych obiektów świata rzeczywistego. Struktura obiektu jest opisana przez zbiór atrybutów i związków nazywanych łącznie cechami obiektu. Wartościami atrybutów mogą być wystąpienia prostych typów danych lub obiekty składowe. Wartościami związków są referencje na inne, zewnętrzne obiekty. Zbiór wartości wszystkich atrybutów i związków tworzy stan obiektu. Z kolei własności behawioralne obiektu są reprezentowane przez zbiór dedykowanych procedur zwanych metodami.

Obiekty są jednoznacznie identyfikowane za pomocą systemowego atrybutu nazywanego identyfikatorem obiektu lub w skrócie - OID. Wartości tego atrybutu są unikalne i niezmienne.

Wewnętrzna struktura obiektu oraz implementacja metod są ukryte przed użytkownikami obiektu. Mówi się, że są to prywatne własności obiektów, niedostępne z zewnątrz. Dostęp do obiektów umożliwia ich publiczny interfejs, czyli wywołania metod obiektu. Metody obiektu są wywoływane przez wysyłanie do obiektu odpowiednich komunikatów.

Obiekty o tej samej strukturze i metodach należą do tej samej klasy obiektów. Klasy posiadają dualną naturę. Z jednej strony są odpowiednikami typów danych. Są definicjami własności obiektów. Z drugiej strony klasy są modułami programowymi, które zawierają implementację funkcjonalności typów danych.

Klasy mogą być definiowane jako specjalizacje innych klas. Klasa wyspecjalizowana jest nazywana podklasą i dziedziczy ona cechy i metody swojej nadklasy. Dziedziczenie umożliwia współdzielenie implementacji klas. Dodatkowo klasa wyspecjalizowana jest podtypem swojej nadklasy. Umożliwia to polimorficzne przetwarzanie kolekcji klas i dynamiczne wiązanie przesyłanych komunikatów z metodami klasy właściwej dla danego obiektu.


<< Poprzedni slajd | Spis treści | Następny slajd >>