implementacji, takie jak na przykład uporządkowanie pól w rekordach lub rzeczywista struktura rekordu reprezentującego obiekt.
Spccyfikując projekt klas w języku ODL, opisujemy trzy rodzaje właściwości:
1. Atrybuty: są to właściwości, których typy powstają z typów pierwotnych, takich jak całkowity lub tekstowy. Charakterystyczne jest to, żc atrybuty nic odnoszą się do żadnej klasy. W języku 01)1- typy atrybutów mają ograniczoną strukturę, będzie o tym mowa w p. 2 1.7
2. Związki: typy tych właściwości są albo odniesieniami do obiektu pewnej klasy, albo kolekcjami (np. zbiór) takich odniesień.
3. Metody', są to funkcje operujące na obiektach danej klasy. Jak już wspomnieliśmy nic jest to czas na zajmowanie się metodami.
Najprostsza postać deklaracji klasy w języku ODL składa się z:
1. Słowa interface.
2. Nazwy interfejsu (tzn. klasy).
3. Listy właściwości klasy otoczonej nawiasami klamrowymi. Przypo minainy, że właściwościami mogą być atrybuty, związki i metody.
A zatem najprostsza postać deklaracji interfejsu wygląda następująco:
interface <nazwa>{
<lista właściwości>
)
Najprostszymi właściwościami są atrybuty. Opisują one te cechy obiektu, ctóre dają się wyrazić wartościami o prostych typach Na przykład obiektom dąsy osoba można przypisać atrybut typu tekstowego nazwinko, którego vartościąjest nazwisko danej osoby. Innym atrybutem osoby może być data irodzenia, złożona z trzech wartości typu całkowitego (tzn. rekord) repre-:entujących rok, miesiąc i dzień urodzenia.
•RZYKLAD 2.1
>la rysunku 2.4 przedstawiono deklarację klasy filmów w języku ODL. Nic est ona jeszcze pełna, uzupełnimy ją później. Wiersz pierwszy (1) nadaje lasie nazwę Film. Słowo kluczowe interface służy w języku ODL do definiowania klasy1. W następnych wierszach definiuje się cztery atrybuty klasy Film.
1) interface Filmy!
2) attribute string tytuł;
3) attribute integer rok;
4) attribute integer długość;
5) attribute enum Taśma {kolor, czarno-biała)
TypTaśmy;
);
RYSUNKK 2.4
Deklaracja klasy Film w języku ODL
Pierwszy atrybut, występujący w wierszu 2, nazwano tytuł. Jest on typu tekstowego, jego wartość może być napisem o dowolnej długości. Jak można się spodziewać, wartość atrybutu tytuł w każdym obiekcie klasy Film będzie określać tytuł danego filmu. Następne dwa atrybuty, rok i długość, zdefiniowane w 3 i 4 wierszu, są typu całkowitego i reprezentują odpowiednio rok produkcji danego filmu oraz czas jego trwania w minutach. W w ierszu 5 pojawia się jeszcze inny atrybut TypTaśmy, dzięki któremu można dowiedzieć się czy film jest czarno-biały, czy kolorowy. Jest on typu wyliczeniowego o nazwie Taśma. Wartości atrybutów typu wyliczeniowego wybiera się z listy literałów, w naszym przykładzie: kolor oraz czarno-biały.
Zgodnie z dotychczas obowiązującą definicją obiekty klasy Film nalcz> postrzegać jako krotki złożone z czterech wartości, które odpowiadają po szczególnym czterem atrybutom. Na przykład zapis:
(„Przeminęło z Wiatrem”, 1939, 231, kolor) jest obiektem klasy Fil: .
□
PRZYKŁAD 2 2
W przykładzie 2.1 wszystkie atrybuty miały przypisane typy atomowe. Można także określać dla atrybutów typy złożone, takie jak rekordy lub kolekcje, albo kolekcje rekordów, co opiszemy w p. 2.1.7. A oto przykład określenia klas)- 7. atrybutami o typie złożonym.
Technicznie rzecz, ujmując, klasa w języku ODL składa się interfejsu oru/ implementacji struktur danych oraz metod /wiązanych / interfejsem. W tym rozdziale nie omawiamy co prawda implementacji interfejsów w ODL. ale będziemy się posługiwać pojęciem deklaracji interfejsu w sensie dcfiniow'ania ..klas".