260 likes | 470 Views
OBJECT PASCAL. Marzena Szałas. WSTĘP. Object Pascal podstawowym językiem programowania w Delphi; dostępne elementy: obsługa wyjątków; zmienne typu Variant ; tablice otwarte; domyślne parametry procedur i funkcji; tablice dynamiczne…. STRESZCZENIE. podstawy języka Object Pascal:
E N D
OBJECT PASCAL Marzena Szałas
WSTĘP • Object Pascal podstawowym językiem programowania w Delphi; • dostępne elementy: • obsługa wyjątków; • zmienne typu Variant; • tablice otwarte; • domyślne parametry procedur i funkcji; • tablice dynamiczne… Object Pascal
STRESZCZENIE • podstawy języka Object Pascal: • zmienne, stałe, operatory, typy języka i definiowane przez użytkownika, instrukcje warunkowe, pętle, procedury i funkcje, moduły, pakiety, wykorzystanie obiektów, strukturalna obsługa wyjątków; • komponenty w Delphi; Object Pascal
ZMIENNE I STAŁE • zmienne: var zmienna1, zmienna2 : integer; zmienna3 : string = ‘Napis domyślny’; • stałe: const ErrorString = ‘Niebezpieczeństwo’; i : integer = 10; Object Pascal
OPERATORY • przypisania: := ; • porównania: = <> < > <= >= ; • logiczne: and or not ; • arytmetyczne: + - * / div mod ; • bitowe: and or not xor shl shr ; • zwiększania/zmniejszania: Inc() Dec() ; Object Pascal
TYPY JĘZYKA OBJECT PASCAL • bezpieczeństwo typów; • przykładowe typy: • typy całkowitoliczbowe: Integer, Shortint, Byte… • typy zmiennoprzecinkowe: Single, Double, Currency… • typy logiczne: Boolean, LongBool… • 3 typy reprezentujące pojedynczy znak: AnsiChar, WideChar i Char; • łańcuchy: AnsiString, ShortString, WideString… • typ Variant (wartości UNASSIGNED i NULL); Object Pascal
TYPY DEFINIOWANE PRZEZ UŻYTKOWNIKA • mają postać: • tablic (tablice dynamiczne): type Tablica1 = array [0..5] of integer; var Tab1 : Tablica; Tab2 : array [2..5] of integer; Tab3 : array of string; Object Pascal
TYPY DEFINIOWANE PRZEZ UŻYTKOWNIKA • rekordów: type MojRekord = Record pole1 : integer; pole2 : string end; • wskaźników (procedury: New() Dispose() GetMem() FreeMem()): type PInt = ^integer; PMojRekord = ^MojRekord; Object Pascal
TYPY DEFINIOWANE PRZEZ UŻYTKOWNIKA • zbiorów (dostępne operacje: in <= + - *, procedury: Include() Exclude()): type Znaki = set of Char; Liczby = set of 0..9; • obiektów: type tp = procedure (a: integer); Tkl = class (TObject) i : integer; p1 : tp; procedure p2; end; typowe (składowa z danymi) bardzo nietypowe (składowa z danymi) typowe (metoda) Object Pascal
INSTRUKCJE WARUNKOWE • instrukcja If: if x=5 then instrukcja1 else instrukcja2; • instrukcja wyboru: case x of 1: instrukcja1; 2: instrukcja2; else instrukcja3; end; Object Pascal
PĘTLE • pętla For: for i:=1 to 100 do x := x + i; • pętla While…Do: while x<>100 do x := x + 1; • pętla Repeat…Until: repeat x := x + 1; until x=100; • procedura Break(); • procedura Continue(); Object Pascal
PROCEDURY I FUNKCJE • zmienna Result; • przekazywanie parametrów: • przez wartość; • przez adres; • przez stałą; • mechanizm tablic otwartych: procedure KazdaTablica (var X: array of integer) Object Pascal
PROCEDURY I FUNKCJE • przeciążanie procedur i funkcji: function Divide (X, Y: Real): Real; overload; begin … end; function Divide (X, Y: Integer): Integer; overload; begin … end; • domyślne parametry procedur i funkcji: procedure MyMessage (Msg: String; Line: byte = 0); MyMessage (‘Hello’,1); MyMessage (‘Hello’); Object Pascal
MODUŁY • Budowa: • dyrektywa UNIT; • część publiczna (interface); • część prywatna (implementation); • część inicjacyjna (initialization); • część kończąca (finalization); • cykliczne odwołanie do modułu; Object Pascal
PAKIETY • podział ze względu na rolę pełnioną w tworzonych aplikacjach: • pakiety wykonywalne; • pakiety środowiskowe; • pakiety uniwersalne; • pakiety pomocnicze; Object Pascal
PROGRAMOWANIE OBIEKTOWE • dziedziczenie w Object Pascalu; • konstruktor Create()i destruktor Destroy(); • TMyObject = Class SomeValue : Integer; procedure SetSomeValue (AValue: Integer; property Value: Integer read SomeValue write SetSomeValue; End; pole metoda właściwość Object Pascal
PROGRAMOWANIE OBIEKTOWE • zmienna predefiniowana Self; • typy metod obiektowych: TFoo = class procedure Statyczna; procedure Wirtualna; virtual; procedure Dynamiczna; dynamic; procedure Komunikacyjna (var M: TMessage); message wm_SomeMessage; statyczne wirtualne dynamiczne zarządzające komunikatami Object Pascal
PROGRAMOWANIE OBIEKTOWE • przedefiniowywanie metod – override; • przeciążanie metod – overload; • redefinicja metod klasy – reintroduce; • metody zaprzyjaźnione; Object Pascal
PROGRAMOWANIE OBIEKTOWE • widoczność elementów obiektu: • private; • protected; • public; • published; • automated; Object Pascal
INTERFEJSY • numer identyfikacyjny interfejsu: globalnie unikalny identyfikator – GUID; • nie mogą zawierać pól; • wszystkie metody interfejsu są publiczne; • interfejs IInterface klasą bazową wszystkich interfejsów; • Interfejs – typ o kontrolowanym czasie życia; Object Pascal
STRUKTURALNA OBSŁUGA WYJĄTKÓW • wyjątek – obiekt zawierający niezbędną informację; • try…finally…end – konstrukcja gwarantująca wykonanie określonego ciągu instrukcji, niezależnie od błędu; • try…except…end – narzędzie do obsługi błędów; • sekcja obsługi domyślnej; Object Pascal
STRUKTURALNA OBSŁUGA WYJĄTKÓW • klasa Exception– typ bazowy dla obiektów reprezentujących wyjątki (właściwość Message); • generowanie własnych wyjątków – instrukcja Raise; Object Pascal
KOMPONENTY W DELPHI • klasa każdego komponentu pochodną klasy bazowej TComponent; • kontakt ze światem w większości za pomocą właściwości (właściwość Namei właściwość Tag); • komponent-właściciel; • mechanizm zdarzeń – specyfika komponentów, wyróżniająca je spośród innych klas; Object Pascal
KOMPONENTY W DELPHI • podział komponentów: • komponenty niewizualne; • komponenty wizualne (relacja rodzicielstwa); • rodzaje właściwości: • właściwości proste; • właściwości wyliczeniowe; • właściwości zbiorowe; • właściwości obiektowe; • właściwości tablicowe; Object Pascal
KOMPONENTY W DELPHI • strumieniowość; • domyślne wartości właściwości; Object Pascal
LITERATURA • A. Marciniak – „Object Pascal – język programowania w środowisku Borland Delphi 2.0”; • S. Teixeira, X. Pacheco – „Delphi 4. Vademecum profesjonalisty”; • A. Grażyński, Z. Zarzycki – „Delphi 7 dla każdego”; Object Pascal