INFO
Sylabus
Standard ODMG, część 2
1. Plan wykładu
2. Typy abstrakcyjne, typy konkretne, polimorfizm, wielo-dziedziczenie
3. Ekstensje, klucze
4. Obiekty
5. Kolekcje
6. Literale
7. Użycie deklaracji struktur
8. Deklaracje atrybutów
9.Związki
10. Operacje
11. Wyjątki
12. Metadane
13. Transakcje
Skorowidz
Wyście:
Wyklad VIII. Wprowadzenie do standardu ODMG, część 2:
Model obiektowy (KURS SSR)
I II III IV V VI VII VIII IX X XI XII XIII XIV
« poprzedni punkt   następny punkt »

10. Operacje

Operacje są inną charakterystyką typu, której zadaniem jest odwzorowanie zachowania się obiektów. Operacje określa się poprzez podanie ich sygnatur.

Sygnatura zawiera:

  • nazwę operacji
  • nazwy i typy jej argumentów
  • typ zwracanej wartości (może być void, co oznacza brak zwracanej wartości)
  • nazwy wyjątków (sygnałów błędów), które mogą być przez nią powodowane
  • Nazwa operacji musi być unikalna w ramach typu, ale może być przeciążona (overloaded). W takim przypadku wybiera się operację z klasy najbardziej wyspecjalizowanej. Zakłada się dynamiczne wiązanie operacji (polimorfizm). void ZmieńWykładowcę( in Profesor NowyWykładowca ) raises ( NieJestSpecjalistą )Np. operacja dla typu Wykład:Dowolna operacja może mieć dowolne efekty uboczne. Semantyka operacji nie jest specyfikowana przez ODMG.
    Dowolna operacja może mieć dowolne efekty uboczne. Semantyka operacji nie jest specyfikowana przez ODMG
    (2kB)
    Np. operacja dla typu Wykład:
    void ZmieńWykładowcę(in Profesor NowyWykładowca) 
                                          raises (NieJestSpecjalistą)


    11. Wyjątki (exceptions)

    Operacje mogą powodować wyjątki, które mogą być dodatkowo wyposażone w informację o warunkach powstania wyjątku. Wyjątki są obiektami i posiadają swój interfejs (typu Exception lub pewnego podtypu typu Exception ) .

    Zasady sterowania wyjątkami:
    (1kB) Programista deklaruje obsługę wyjątku (exception handler) dotyczącą wyjątku typu t wewnątrz pewnego zakresu s
    (1kB) Operacja wewnątrz zakresu sn (zawartego w s) może podnieść (raise) wyjątek typu t. Ten sam skutek ma podniesienie wyjątku typu t1, gdzie t1 jest podtypem t.
    (1kB) Wyjątek jest “przechwytywany” przez odpowiadającą mu obsługę wyjątku znajdującą się w najbardziej lokalnym zakresie. Stos środowisk (call stack) jest w takiej sytuacji zwijany aż do poziomu na którym znajduje się ta obsługa. Zwinięcie oznacza usunięcie wszystkich obiektów znajdujących się w zwijanych sekcjach stosu i zerwanie wszystkich transakcji zainicjowanych w zwijanych zakresach
    (1kB) Sterowanie jest przekazywane do w/w obsługi wyjątku t. Wewnątrz tej obsługi wyjątek może być “skonsumowany” (tj. usunięty ze środowiska) lub przekazany dalej, do bardziej szerokiego zakresu


    « poprzedni punkt   następny punkt »