object pascal

26
OBJECT PASCAL OBJECT PASCAL Marzena Szałas

Upload: priscilla-copeland

Post on 03-Jan-2016

40 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: OBJECT PASCAL

OBJECT PASCALOBJECT PASCAL

Marzena Szałas

Page 2: OBJECT PASCAL

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…

Page 3: OBJECT PASCAL

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;

Page 4: OBJECT PASCAL

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;

Page 5: OBJECT PASCAL

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() ;

Page 6: OBJECT PASCAL

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);

Page 7: OBJECT PASCAL

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;

Page 8: OBJECT PASCAL

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;

Page 9: OBJECT PASCAL

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)

Page 10: OBJECT PASCAL

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;

Page 11: OBJECT PASCAL

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();

Page 12: OBJECT PASCAL

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)

Page 13: OBJECT PASCAL

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’);

Page 14: OBJECT PASCAL

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;

Page 15: OBJECT PASCAL

Object Pascal 15

PAKIETYPAKIETY

podział ze względu na rolę pełnioną w tworzonych aplikacjach: pakiety wykonywalne; pakiety środowiskowe; pakiety uniwersalne; pakiety pomocnicze;

Page 16: OBJECT PASCAL

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ść

Page 17: OBJECT PASCAL

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

Page 18: OBJECT PASCAL

Object Pascal 18

PROGRAMOWANIE PROGRAMOWANIE OBIEKTOWEOBIEKTOWE

przedefiniowywanie metod – override; przeciążanie metod – overload; redefinicja metod klasy – reintroduce; metody zaprzyjaźnione;

Page 19: OBJECT PASCAL

Object Pascal 19

PROGRAMOWANIE PROGRAMOWANIE OBIEKTOWEOBIEKTOWE

widoczność elementów obiektu: private; protected; public; published; automated;

Page 20: OBJECT PASCAL

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;

Page 21: OBJECT PASCAL

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;

Page 22: OBJECT PASCAL

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;

Page 23: OBJECT PASCAL

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;

Page 24: OBJECT PASCAL

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;

Page 25: OBJECT PASCAL

Object Pascal 25

KOMPONENTY W DELPHIKOMPONENTY W DELPHI

strumieniowość; domyślne wartości właściwości;

Page 26: OBJECT PASCAL

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”;