Języki programowania wykład 5 – 25.05.2011
Moduły sa podstawą programowania modularnego i służą do:
- grupowania procedur i funkcji w biblioteki oraz
- dzielenia dużych programów na powiązane logicznie części
Moduł nie jest programem, a jego użycie w programie wymaga deklaracji (po słowie kluczowym uses).
Struktura modułu:
unit nazwa_modulu;
interface
definicje stałych
definicje typów
deklaracje zmiennych
lista nagłówków procedur i funkcji
implementation
deklaracje modułów
deklaracje stałych, typów, zmiennych wewnętrznych
definicje procedur i funkcji
end.
unit u1;
interface
….
implementation
uses
u2,u3;
end.
W BP istnieją moduły standardowe grupujące funkcje i procedury standardowe (jest ich kilkaset).
Funkcje I procedury standardowe służą m. in. do:
- wykonywania operacji we/wy (write, readln…)
- konwersji danych
- zarządzania pamięcią operacyjną
- wykonywania operacji porządkowych (dec, inc, odd, pred, succ)
- operacji arytmetycznych
- sterowania tokiem obliczeń
- realizacji grafiki (line, PutPixel…)
W modułach standardowych zdefiniowane sa także stałei zmienne predefiniowane, np.: pi, ExitCode, ERrorAddr, red, yellow, green, SolidFill, GraphResult.
Moduły standardowe:
- printer – umożliwia dostęp do drukarki,
- system – zawsze jest dosępny, zawiera m.in. funkcje obsługi zbiorów, funkcje konwersji, funkcje arytmetyczne
- crt – moduł obsługi ekranu i klawiatury
- dos – umożliwia wykonaywanie poleceń systemu opercyjnego
- graph – obsługa grafiki
- strings – operacje na łańcuchach otwartych
- overlay – umożliwia dzielenie programu na segmenty
System – zawsze jest dosępny, zawiera m.in. funkcje obsługi zbiorów, funkcje konwersji, funkcje arytmetyczne, funkcje porządkowe, funkcje wykonujące operacje na łańcuchach.
Procedury sterujące tokiem obliczeń
Funkcje i procedury związane ze zmiennymi dynamicznymi
Funkcje i procedury konwersji danych
Funkcje arytmetyczne
Funkcje i procedury porządkowe
Funkcje i procedury łańcuchowe
Funkcje i procedury obsługi zbiorów
DELPHI
Delphi jest to zintegrowane środowisko programistyczne. Ze względu na dosyć szczególny sposób tworzenia programów należy do narzędzi z rodziny RAD (Rapid Application Development) tj. rodziny błyskawicznego tworzenia aplikacji.
Wnika to m.in. z tego że: kompilujemy i uruchamiamy programy w tym samym środowisku, obserwujemy wykonanie programu debuggerem, łatwo śledzi się kod źródłowy.
- zawiera programy narzędziowe wspomagające tworzenie baz danych, aplikacji internetowych
- automatycznie tworzona jest tutaj struktura programu i modułów
- można dołączać do pisanej aplikacji inne aplikacje zarejestrowane w systemie Windows
- tworzyć własne komponenty
Najnowsza wersja tego środowiska to Delphi XD 2011 – umożliwia tworzenie aplikacji pod Windows. Jest to wysokoproduktywne środowisko RAD.
Nas interesują wersje Delphi 5,6,7:
Wyróżniamy trzy rodzaje danej wersji Delphi:
- Standard
- Professional
- Enterprise
W środowisku Delphi wykorzystuje się język programowania obiektowego Object Pascal – język programowania zorientowanego obiektowo.
U podstaw tego języka leżą trzy podstawowe pojęcia:
Hermetyczność oznacza, że struktury danych i kody programowe są połączone w jedną całość. Ogólnie dostępne struktury danych w obiekcie nazywa się własnościami, a ogólnie dostępne kody programowe tj. funkcje i procedury – metodami. Obiekt może korzystać z metod i własności innego obiektu, ale metody jednego obiektu nie mają bezpośredniego dostępu do metod drugiego obiektu (korzystanie odbywa się przez dziedziczenie). Możliwe jest też ukrycie pewnych danych i metod obiektu przed innymi obiektami, przez co nie będą one dla nich dostępne (deklaracje: private, public).
Dziedziczność obiektowa umożliwia programiście definiowanie potomków istniejących obiektów.
Ponieważ potomek dziedziczy własności (struktury danych) i metody (funkcje i procedury) po swoim przodku, to przy jego definiowaniu określa się jedynie różnice w odniesieniu do przodków. Praca programisty koncentruje się zatem na oprogramowaniu własności i metod unikatowych dla potomka (korzystamy z tego co zrobili inni programiści).
Zasada dziedziczności obiektów jest też wygodna w przypadku wykonywania zmian obejmujących całą klasę obiektów – wystarczy wówczas wykonać je tylko w obiekcie nadrzędnym.
Polimorfizm umożliwia tworzenie w obiektach potomnych metod o takich samych nazwach, jak w obiektach nadrzędnych, ale wykonujących różne czynności. Dzięki polimorfizmowi programista może nakazać obiektowi wykonać określoną „metodę” bez wnikania w wewnętrzne szczegóły dotyczące typu danego obiektu np. metoda rysuj można wykorzystać w obiektach potomnych do rysowania.
Środowisko zintegrowane (IDE)
Kod źródłowy projektu
Równolegle do konstruowania nowego formularza tj. umieszczania na nim kolejnych komponentów, odbywa się automatyczne generowanie kodu źródłowego.
Kod związany z formularzem ma postać modułu. Jest to reguła w Delphi – każdemu formularzowi odpowiada ejden moduł.
A odwrotnie? Mogą istnieć moduły nie mające formularzy.
W odróżnieniu od aplikacji tworzonych w TP, prawie cały kod zawarty jest w modułach.
W Delphi wykorzystuje się porgrmowanie wizualne. Program buduje się częściowo w oparciu o gotowe „klocki” – komponenty tj. obiekty zawarte w bibliotece VCL.
Komponenty to np.: przyciski, menu, pola edycyjn, elementy do wyświetlania grafiki i odtwarzania dźwięku, dialogi. Dzięki komponentom zwolnieni jesteśmy z pisania dużej części oprogramowania – tworzymy swój program wykorzystując napisane przez programistów procedury i funkcje.
Deklaracja klasy odbywa się przez deklarację nowego typu danych (typu class):
unit Unit1;
Interface
Type
MK_1= class
Procedure p1;
Procedure p2;
…
end;
Implementation
Procedure MK_1.p1;
begin
…
end;
Procedure MK_1.p2;
begin
…
end;
Procedure OdwolanieDoKlasy;
Begin
X:=MK_1.Create;
X.p1;
X.p2;
X.Free;
end;