object pascal
DESCRIPTION
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: - PowerPoint PPT PresentationTRANSCRIPT
OBJECT PASCALOBJECT PASCAL
Marzena Szałas
Object Pascal 2
WSTĘPWSTĘ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 3
STRESZCZENIESTRESZCZENIE
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 4
ZMIENNE I STAŁEZMIENNE I STAŁE
zmienne:var
zmienna1, zmienna2 : integer;
zmienna3 : string = ‘Napis domyślny’;
stałe:const
ErrorString = ‘Niebezpieczeństwo’;
i : integer = 10;
Object Pascal 5
OPERATORYOPERATORY
przypisania: := ; porównania: = <> < > <= >= ; logiczne: and or not ; arytmetyczne: + - * / div mod ; bitowe: and or not xor shl shr ; zwiększania/zmniejszania: Inc() Dec() ;
Object Pascal 6
TYPY JĘZYKA OBJECT TYPY JĘZYKA OBJECT PASCALPASCAL 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 7
TYPY DEFINIOWANE PRZEZ TYPY DEFINIOWANE PRZEZ UŻYTKOWNIKAUŻ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 8
TYPY DEFINIOWANE PRZEZ TYPY DEFINIOWANE PRZEZ UŻYTKOWNIKAUŻYTKOWNIKA
rekordów:type
MojRekord = Recordpole1 : integer;pole2 : string
end; wskaźników (procedury: New() Dispose() GetMem() FreeMem() ):
typePInt = ^integer;PMojRekord = ^MojRekord;
Object Pascal 9
TYPY DEFINIOWANE PRZEZ TYPY DEFINIOWANE PRZEZ UŻYTKOWNIKAUŻYTKOWNIKA
zbiorów (dostępne operacje: in <= + - *, procedury: Include() Exclude() ):
typeZnaki = 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 10
INSTRUKCJEINSTRUKCJE WARUNKOWE WARUNKOWE
instrukcja If:if x=5 then
instrukcja1else
instrukcja2; instrukcja wyboru:
case x of1: instrukcja1;2: instrukcja2;else instrukcja3;
end;
Object Pascal 11
PĘTLEPĘTLE
pętla For:for i:=1 to 100 do
x := x + i; pętla While…Do:
while x<>100 dox := x + 1;
pętla Repeat…Until:repeat
x := x + 1;until x=100;
procedura Break(); procedura Continue();
Object Pascal 12
PROCEDURY I FUNKCJEPROCEDURY 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 13
PROCEDURY I FUNKCJEPROCEDURY 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 14
MODUŁYMODUŁ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 15
PAKIETYPAKIETY
podział ze względu na rolę pełnioną w tworzonych aplikacjach: pakiety wykonywalne; pakiety środowiskowe; pakiety uniwersalne; pakiety pomocnicze;
Object Pascal 16
PROGRAMOWANIE PROGRAMOWANIE OBIEKTOWEOBIEKTOWE
dziedziczenie w Object Pascalu; konstruktor Create() i destruktor Destroy();
TMyObject = ClassSomeValue : Integer;
procedure SetSomeValue (AValue: Integer;
property Value: Integer read SomeValue write SetSomeValue;
End;
pole
metoda
właściwość
Object Pascal 17
PROGRAMOWANIE PROGRAMOWANIE OBIEKTOWEOBIEKTOWE
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 18
PROGRAMOWANIE PROGRAMOWANIE OBIEKTOWEOBIEKTOWE
przedefiniowywanie metod – override; przeciążanie metod – overload; redefinicja metod klasy – reintroduce; metody zaprzyjaźnione;
Object Pascal 19
PROGRAMOWANIE PROGRAMOWANIE OBIEKTOWEOBIEKTOWE
widoczność elementów obiektu: private; protected; public; published; automated;
Object Pascal 20
INTERFEJSYINTERFEJSY
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 21
STRUKTURALNA OBSŁUGA STRUKTURALNA OBSŁUGA WYJĄTKÓWWYJĄ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 22
STRUKTURALNA OBSŁUGA STRUKTURALNA OBSŁUGA WYJĄTKÓWWYJĄ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 23
KOMPONENTY W DELPHIKOMPONENTY 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ść Name i właściwość Tag);
komponent-właściciel; mechanizm zdarzeń – specyfika
komponentów, wyróżniająca je spośród innych klas;
Object Pascal 24
KOMPONENTY W DELPHIKOMPONENTY 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 25
KOMPONENTY W DELPHIKOMPONENTY W DELPHI
strumieniowość; domyślne wartości właściwości;
Object Pascal 26
LITERATURALITERATURA
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”;