Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami.

Slides:



Advertisements
Podobne prezentacje
Zastosowanie LDAP w obsłudze katalogów bibliotecznych
Advertisements

Katarzyna Szafrańska kl. II ti
C++ wykład 2 ( ) Klasy i obiekty.
Typy strukturalne Typ tablicowy.
Język C/C++ Funkcje.
Programowanie obiektowe
Static, const, volatile.
VHDL VHDL – akronim: VHSIC (Very High Speed Integrated Circuit) Hardware Description Language Inicjatywa Departamentu Obrony z 1980 Cel: osiągnąć znaczny.
Instrukcje strukturalne
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 6: Tablice, rekordy, zbiory.
ODE Triggery. Wstęp n Triggery są trójką zdarzenie-warunek-akcja (event-condition- action). n Zdarzenia mogą być proste lub złożone, co zostanie omówione.
Kurs Pascala – spis treści
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Dziedziczenie i jego rodzaje
C++ wykład 2 ( ) Klasy i obiekty.
Inteligentne Systemy Informacyjne
Zasady zaliczenia Warunki uzyskania zaliczenia:
Typy standardowe Typ Boolean Typ Integer Typ Float Typ Character Operacje wejścia-wyjścia.
Podprogramy 1 W Adzie mamy dwa rodzaje podprogramów (subprograms, subroutines): funkcje (functions) i procedury (procedures) Deklaracja i treść funkcji 
Typy pochodne 1 Często dogodnie jest wprowadzić nowy typ, który jest podobny do istniejącego, niemniej jednak różny. Niech T będzie pewnym typem. Możemy.
Programowanie zorientowane obiektowo 1 Programowanie zorientowane obiektowo (object-oriented programming) jest to metodologia programowania bazująca na.
Instrukcje 1 Definicje wstępne Formalny opis akcji wykonywanej przez komputer nazywamy instrukcją ( statement), Każda instrukcja kończona jest średnikiem.
Ogólne jednostki programowe 1
Kompilacja przechodnia
Tablice jednowymiarowe 1
Typy danych – podstawy 1 W Adzie wszystkie dane muszą być określonego typu. Definicja Typ danych (data type) jest to zbiór wartości i operacji, które można.
Typy prywatne 1 Typy prywatne W Adzie typy prywatne (private types) służą do bezpiecznego udostępniania danych zdefiniowanych w pakiecie, z którego korzysta.
Rekordy 1 Definicja Typ strukturalny nazywamy typem rekordowym, jeżeli zawiera pewną liczbę nazwanych składowych, które mogą być różnych typów. Dostęp.
Wykład 2 struktura programu elementy języka typy zmienne
Języki programowania obiektowego
Wstęp do programowania obiektowego
Modele baz danych - spojrzenie na poziom fizyczny
Pliki. Pliki Pliki jako pamięć nieulotna Pliki jako pamięć nieulotna Nazwy, atrybuty i prawa dostępu Nazwy, atrybuty i prawa dostępu atrybuty atrybuty.
Typy złożone, case, stałe. Typ zbiorowy type typ_zb = set of typ_podstawowy; Typem podstawowym może być tylko typ porządkowy. Typem podstawowym może być
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Programowanie strukturalne i obiektowe
Pliki tekstowe. Operacje na plikach. mgr inż. Agata Pacek.
Programowanie strukturalne i obiektowe
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Jakub Wołczko W obiektowym świecie… Jakub Wołczko
Programowanie obiektowe III rok EiT
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
ZWIĄZKI MIĘDZY KLASAMI KLASY ABSTRAKCYJNE OGRANICZENIA INTERFEJSY SZABLONY safa Michał Telus.
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Programowanie w języku C++
Podstawy programowania
UML W V ISUAL S TUDIO Mateusz Lamparski. UML D EFINICJA Unified Modeling Language (UML) to graficzny język do obrazowania, specyfikowania, tworzenia i.
Programowanie strukturalne i obiektowe C++
Diagram klas Kluczowymi elementami są: klasy (class)
Diagram klas Diagramy klas służą do obrazowania statycznych aspektów projektowanych systemów jako: Projekt struktury logicznej baz danych Projekt składników.
Waldemar Bartyna Pytania egzaminacyjne 1.
Piotr Czapiewski Wydział Informatyki ZUT. Web Services Description Language.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Dziedziczenie wielobazowe. dana klasa może mieć kilka bezpośrednich klas bazowych: dana klasa może mieć kilka bezpośrednich klas bazowych: kolorpołożenie.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
Platforma .Net.
Dziedziczenie Wykład 7 Dziedziczenie sekwencyjne
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
BAZY DANYCH MS Access.
Waldemar Bartyna Pytania egzaminacyjne 1.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Programowanie Obiektowe – Wykład 6
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Programowanie Obiektowe – Wykład 2
Modele baz danych - spojrzenie na poziom fizyczny
Zapis prezentacji:

Pakiety i ATD 1 Definicja. Pakietem albo jednostką programową nazywamy grupę logicznie powiązanych elementów, które mogą być typami, podtypami, obiektami tych typów i podtypów oraz mogą być podprogramami z parametrami tych typów i podtypów. Ponadto, pakiet może zawierać inne pakiety. Pakiety mogą korzystać z elementów udostępnia-nych przez inne pakiety. Pakiety mogą posiadać dwie części: publiczną (definicyjną) i implementacyjną.

Pakiety i ATD 2 Część publiczna opisuje zasoby udostępniane przez pakiet jego użytkownikom. Zasoby te obejmują zazwyczaj: typy, podtypy, stałe i podprogramy. Część implementacyjna zawiera sposób implementacji zasobów określonych w części definicyjnej. Struktura hierarchiczna pakietów Ada posiada hierarchiczną strukturę pakietów. Struktura ta oparta jest o pojęcie pakietów potomnych.

Pakiety potomne mogą mieć swoje pakiety potomne itd. Pakiety i ATD 3 Wszystkie pakiety standardowe wywodzą się z trzech pakietów macierzystych: Ada Interfaces System Pakiet Ada jest pakietem macierzystym większości innych standardowych pakietów bibliotecznych Ady. Zasoby pozwalające na łączenie instrukcji Ady z instrukcjami pisanymi w innych językach można znaleźć w pakiecie Interfaces i jego pakietach potomnych. Pakiet System i jego pakiety potomne dostarczają charakterystyk otoczenia systemowego w jakim mają działać programy Ady. Pakiety potomne mogą mieć swoje pakiety potomne itd.

Ada.Numerics.Elementary_Functions Składnia części publicznej pakietu Pakiety i ATD 4 Przykład Pakiet standardowy Elementary_Functions jest pakietem potomnym pakietu Numerics, który jest pakietem potomnym pakietu Ada. Zapisujemy tę strukturę następująco: Ada.Numerics.Elementary_Functions Składnia części publicznej pakietu package_declaration ::= package_specification; package_specification ::= package defining_program_unit_name is {basic_declarative_item} [private[basic_declarative_item}] end [defining_program_unit_name];

Pakiety i ATD 5 defining_program_unit_name ::= [parent_program_unit_name.]identifier basic_declarative_item ::= type_declaration | subtype_declaration | object_declaration | subprogram_declaration | generic_instantation| generic declaration

Składnia części implementacyjnej pakietu Pakiety i ATD 6 Składnia części implementacyjnej pakietu package_body ::= package body defining_program_unit_name is declarative_part [begin sequence_of_statements] end [defining_program_unit_name]; declarative_part ::= {basic_declarative_item | subprogram_body} Słowniczek package_declaration – deklaracja pakietu, package_specification – specyfikacja pakietu,

Pakiety i ATD 7 defining_program_unit_name – nazwa jednostki programowej, basic_declarative_item – podstawowy element deklaracji, parent_unit_name – nazwa macierzystej jednostki programowej, type_declaration – deklaracja typu, subtype_declaration – deklaracja podtypu, object_declaration – deklaracja obiektu, subprogram_declaration – deklaracja podprogramu, generic_instantation – konkretyzacja, declarative_part – część deklaracyjna, subprogram_body – treść podprogramu.

Pakiety i ATD 8 Część implementacyjna zawiera szczegóły implementacyjne elementów deklarowanych w części publicznej. Część implementacyjna może także zawierać deklaracje typów, podtypów, stałych, konkretyzacje oraz podprogramy potrzebne do realizacji implementacji. Treść części implementacyjnej nie jest udostępniana programowi korzystającemu z zasobów pakietu udostępnianych przez jego część publiczną.

Pakiety i ATD 9 Część publiczna znajduje się w pliku z rozszerzeniem ads. Część implementacyjna jest w pliku z rozszerzeniem adb. Jeżeli pakiet zawiera obydwie części, to najpierw kompilowana jest część definicyjna, a potem implementacyjna. Część implementacyjna może zawierać część inicjującą, która, jeżeli występuje, jest ciągiem instrukcji po słowie kluczowym begin. Część publiczna może zawierać część prywatną, w której umieszcza się szczegóły implementacji tych typów i obiektów których niepełne deklaracje znajdują się w części publicznej.

Pakiety i ATD 10 Rodzaje pakietów Pakiety definiujące Pakiety takie zawierają określenia stałych i typów używanych w kilku programach, albo używane przez różnych programistów opracowujących różne części dużego programu. Pakiety takie nie mają części implementacyjnej. Przykład My_Reals, Atrybuty_Real, Test_Reals Pakiety usługodawcze Pakiety takie zawierają stałe, typy, podtypy i podprogramy konieczne do obsługi pewnych usług.

Pakiety i ATD 11 Przykład Ada.Text_IO, Ada.Numerics.Elementary_Functions Pakiety do abstrakcji danych Pakiety te służą najczęściej do określenia dodatkowych operacji, które mogą być wykonywane na danych typu określonego przez programistę. Przykład Wektory_2d

Pakiety i ATD 12 Abstrakcyjne typy danych Abstrakcja danych (data abstraction) polega na tym, że typ danych rozumiany jest jako określenie zbioru do którego należą dane i zdefiniowaniu podstawowych operacji, które mogą być wykonywane na elementach tego zbioru. Abstrakcyjny typ danych (ATD) (abstract data type - ADT) Abstrakcja danych służy do udostępniania operacji na danych przy jednoczesnym ukryciu szczegółów reprezentacji danych i szczegółów implementacji operacji określonych dla tych danych.

Pakiety i ATD 13 Program korzystający z ATD nazywamy programem klienckim (client program), albo klientem (client). W programie tym można deklarować obiekty ATD i używać operacji zdefiniowanych dla tego typu. Dzięki ukryciu informacji (information hiding) o reprezentacji typu i implementacji operacji osiąga się separację (separation) wykorzystania ATD w programie klienckim od reprezentacji typu i implementacji operacji na danych tego typu. Dzięki temu program kliencki może być opracowany niezależnie od abstrakcyjnego typu danych.

Pakiety i ATD 14 Struktura ATD Zazwyczaj ATD jest typem strukturalnym, najczęściej rekordem. Wyróżniamy następujące grupy operacji wykonywanych na obiektach ATD: Konstruktory (constructors) – tworzą lub konstruują obiekty ATD łącząc składowe w jedną całość, Selektory (selectors) – wybierają składowe obiektu, Zapytania (inquiries) – służą do ustalenia czy obiekt ATD ma pewną własność, Wejście/Wyjście (input/output) – służą do czytania i wypisywania danych ATD

Pakiety i ATD 15 W języku Ada istnieje kilka mechanizmów i pojęć pozwalających na realizację i stosowanie ATD. Podtypy – omówione w ramach skalarnych typów danych Inicjowanie pól rekordów – czyli nadawanie wartości domyślnych składowym typu rekordowego przy jego deklaracji Pakiety Typy prywatne Przeciążanie operatorów Definiowanie i obsługa wyjątków Atrybuty – omówione w ramach typów skalarnych, tablicowych i rekordowych Definicje ogólne