background image

 

 

PROGRAMOWANIE

PROGRAMOWANIE

 

 

 

 

OBIEKTOWE.

OBIEKTOWE.

PAKIET   

PAKIET   

DELPHI

DELPHI

background image

 

 

Programowanie 

Programowanie 

obiektowe

obiektowe

IV 

najnowsza 

generacja 

IV 

najnowsza 

generacja 

metodologii  programowania,  w 

metodologii  programowania,  w 

której program komputerowy jest 

której program komputerowy jest 

tworzony 

tworzony 

za 

pomocą 

„obiektów 

za 

pomocą 

„obiektów 

programowych" 

stanowiących 

programowych" 

stanowiących 

fragmenty  programu  zawierające 

fragmenty  programu  zawierające 

dane i procedury na tych danych. 

dane i procedury na tych danych. 

background image

 

 

W programowaniu obiektowym 

W programowaniu obiektowym 

PROGRAM 

STANOWI 

ZBIÓR 

PROGRAM 

STANOWI 

ZBIÓR 

WZAJEMNIE 

KOMUNIKUJĄCYCH 

WZAJEMNIE 

KOMUNIKUJĄCYCH 

SIĘ 

OBIEKTÓW, 

SIĘ 

OBIEKTÓW, 

WYKONYWUJĄCYCH 

ZADANIA 

 

WYKONYWUJĄCYCH 

ZADANIA 

 

ZGODNE    Z    ALGORYTMEM 

ZGODNE    Z    ALGORYTMEM 

ROZWIĄZYWANEGO  PROBLEMU

ROZWIĄZYWANEGO  PROBLEMU

background image

 

 

Podstawowym 

celem 

Podstawowym 

celem 

wprowadzenia 

programowania 

wprowadzenia 

programowania 

obiektowego  -ułatwienie  pisania 

obiektowego  -ułatwienie  pisania 

programów 

przez 

programów 

przez 

wykorzystywanie  już  wcześniej 

wykorzystywanie  już  wcześniej 

napisanych 

fragmentów 

napisanych 

fragmentów 

programów, które się powtarzają 

programów, które się powtarzają 

bądź  jako  fragmenty  obiektów, 

bądź  jako  fragmenty  obiektów, 

bądź jako całe obiekty.

bądź jako całe obiekty.

background image

 

 

POJĘCIA

POJĘCIA

   

   

PODSTAWOWE   (1)

PODSTAWOWE   (1)

Obiekt 

Obiekt 

- zbiór zadeklarowanych 

- zbiór zadeklarowanych 

danych

danych

 

 

oraz 

oraz 

metod

metod

  : 

  : 

procedur

procedur

  i 

  i 

funkcji

funkcji

 

 

wykonywanych na danych. Obiekt jest 

wykonywanych na danych. Obiekt jest 

niepodzielny,  mogą  być  używane 

niepodzielny,  mogą  być  używane 

wyłącznie 

wyłącznie 

metody 

użytkownika

metody 

użytkownika

 

 

Zmienne 

obiektu

Zmienne 

obiektu

 

właściwości 

 

właściwości 

statyczne, 

statyczne, 

metody

metody

    -    właściwości 

    -    właściwości 

dynamiczne.

dynamiczne.

                                                              

                                                              

background image

 

 

Obiekty  -  bloki  funkcji  i  danych

Obiekty  -  bloki  funkcji  i  danych

,  na 

,  na 

których wykonywane są operacje. 

których wykonywane są operacje. 

Sposoby komunikacji obiektów :

Sposoby komunikacji obiektów :

 

 

wzajemna komunikacja,

wzajemna komunikacja,

 

 

komunikacja 

systemem 

komunikacja 

systemem 

programem

programem

wykorzystująca 

wykorzystująca 

zdarzenia

zdarzenia

,  na  które  dany  obiekt 

,  na  które  dany  obiekt 

reaguje.

reaguje.

background image

 

 

Powiązania  obiektów

Powiązania  obiektów

 

 

oraz

oraz

 

 

atrybuty

atrybuty

 

 

obiektów

obiektów

  

  

stanowią 

stanowią 

cechy rozwiązywanego 

cechy rozwiązywanego 

problemu.

problemu.

background image

 

 

Charakterystyka  procedur

Charakterystyka  procedur

hermetyzacja danych

hermetyzacja danych

 - wzajemna 

 - wzajemna 

niezależność danych w różnych obiektach

niezależność danych w różnych obiektach

,

,

prezentacja podejścia

prezentacja podejścia

 : obiekt-atrybut, 

 : obiekt-atrybut, 

całość-fragment programu, klasy 

całość-fragment programu, klasy 

obiektów 

obiektów 

i ich rozróżnienie,

i ich rozróżnienie,

wzajemne komunikowanie

wzajemne komunikowanie

 się i 

 się i 

powiązania tworzonych i 

powiązania tworzonych i 

wykorzystywanych obiektów

wykorzystywanych obiektów

.

.

Przykłady

Przykłady

 

 

pakietów programowania obiektowego

pakietów programowania obiektowego

narzędzia programowania 

narzędzia programowania 

DELPHI

DELPHI

 

 

JAVA

JAVA

,  

,  

VISUAL BASIC

VISUAL BASIC

background image

 

 

CECHY  OBIEKTÓW   

CECHY  OBIEKTÓW   

( 1 )

( 1 )

Obiekty grupowane są w klasy.

Obiekty grupowane są w klasy.

Klasa  jest  zbiorem  obiektów  o  jednakowych 

Klasa  jest  zbiorem  obiektów  o  jednakowych 

zmiennych 

zmiennych 

i metodach.

i metodach.

       

       

Klasa  jest  deklaracją  typu  obiektowego,  w  której 

Klasa  jest  deklaracją  typu  obiektowego,  w  której 

obiekt jest zmienną tego typu.

obiekt jest zmienną tego typu.

Stworzenie klasy obiektów wymaga

Stworzenie klasy obiektów wymaga

 podania 

 podania 

 

 

definicji typu obiektowego 

definicji typu obiektowego 

 

 

implementacji metod obiektu

implementacji metod obiektu

Przy deklaracji klasy zwykle występuje lista 

Przy deklaracji klasy zwykle występuje lista 

przodków

przodków

 danego obiektu wiążąca się z 

 danego obiektu wiążąca się z 

dziedziczeniem cech

dziedziczeniem cech

background image

 

 

CECHY  OBIEKTÓW  ( 2 )

CECHY  OBIEKTÓW  ( 2 )

Dziedziczenie

Dziedziczenie

 - cecha pozwalająca na 

 - cecha pozwalająca na 

budowanie 

nowych 

typów 

budowanie 

nowych 

typów 

obiektowych 

na 

bazie 

już 

obiektowych 

na 

bazie 

już 

istniejących. 

istniejących. 

Typ 

pochodny 

Typ 

pochodny 

(potomek)

(potomek)

 

dziedziczy 

zawsze 

 

dziedziczy 

zawsze 

wszystkie  dane  i  metody 

wszystkie  dane  i  metody 

typu 

typu 

bazowego 

bazowego 

(rodzica),

(rodzica),

  ale  metody 

  ale  metody 

rodzica 

mogą 

zostać 

dowolnie 

rodzica 

mogą 

zostać 

dowolnie 

przedefiniowane.

przedefiniowane.

background image

 

 

CECHY  OBIEKTÓW  ( 3 )

CECHY  OBIEKTÓW  ( 3 )

Hermetyczność

Hermetyczność

 - własność 

 - własność 

programowania obiektowego 

programowania obiektowego 

odseparowywująca  zmienne obiektów 

odseparowywująca  zmienne obiektów 

od bezpośredniego oddziaływania na 

od bezpośredniego oddziaływania na 

nie z zewnątrz.

nie z zewnątrz.

Zaletą  hermetyczności jest, że modyfikacje 

Zaletą  hermetyczności jest, że modyfikacje 

w  strukturze  obiektu  oraz  implementacji 

w  strukturze  obiektu  oraz  implementacji 

jego  metod  mają  charakter  lokalny,  są 

jego  metod  mają  charakter  lokalny,  są 

ograniczone do samego obiektu. 

ograniczone do samego obiektu. 

background image

 

 

Polimorfizm

Polimorfizm

 - operowanie na różnych 

 - operowanie na różnych 

obiektach poprzez 

obiektach poprzez 

wielokrotne 

wielokrotne 

używanie kodu programu. 

używanie kodu programu. 

Polimorfizm wiąże się z dziedziczeniem 

Polimorfizm wiąże się z dziedziczeniem 

klas: 

klas: 

ta sama metoda może być 

ta sama metoda może być 

zastosowana zarówno do danej klasy, 

zastosowana zarówno do danej klasy, 

jak i do podklas, które ją dziedziczą. 

jak i do podklas, które ją dziedziczą. 

background image

 

 

Sposoby  dziedziczenia :

Sposoby  dziedziczenia :

 

 

klasa może dziedziczyć z :

klasa może dziedziczyć z :

jednej klasy - 

jednej klasy - 

dziedziczenie jednokrotne

dziedziczenie jednokrotne

 

 

jednocześnie z wielu klas -    

jednocześnie z wielu klas -    

dziedziczenie 

dziedziczenie 

wielokrotne

wielokrotne

,

,

 

 

zbiór własności klas podlegających 

zbiór własności klas podlegających 

dziedziczeniu stanowią 

dziedziczeniu stanowią 

metody 

metody 

wartości 

wartości 

zmiennych

zmiennych

.

.

 

 

dziedziczenie 

może 

być

dziedziczenie 

może 

być

 

statyczne 

 

statyczne 

lub

lub

 

 

dynamiczne 

dynamiczne 

w czasie

w czasie

 

 

wykonywania programu

wykonywania programu

.

.

klasy  mogą  wielokrotnie  zmieniać  swoje 

klasy  mogą  wielokrotnie  zmieniać  swoje 

zachowanie  w  trakcie  pojedynczego  wykonania 

zachowanie  w  trakcie  pojedynczego  wykonania 

programu.

programu.

background image

 

 

MECHANIZM   

MECHANIZM   

PROGRAMOWANIA 

PROGRAMOWANIA 

OBIEKTOWEGO

OBIEKTOWEGO

wprowadzenie  klas i obiektów na 

wprowadzenie  klas i obiektów na 

zadanym poziomie abstrakcji,

zadanym poziomie abstrakcji,

znalezienie relacji klas i obiektów,

znalezienie relacji klas i obiektów,

implementacje klas i obiektów do 

implementacje klas i obiektów do 

rozwiązywanego zagadnienia,

rozwiązywanego zagadnienia,

uszczegółowienie mechanizmów 

uszczegółowienie mechanizmów 

dziedziczenia i polimorfizmu : 

dziedziczenia i polimorfizmu : 

     kolejne 

     kolejne 

klasy i obiekty przejmują  część   atrybutów 

klasy i obiekty przejmują  część   atrybutów 

 i  mechanizmów  prostszych z 

 i  mechanizmów  prostszych z 

zachowaniem

zachowaniem

 

 

hierarchicznego  porządku

hierarchicznego  porządku

 

 

.

.

 

 

      

      

      

      

background image

 

 

Klasa

Klasa

 

 

- struktura łącząca pola (

- struktura łącząca pola (

fields

fields

), metody 

), metody 

(

(

methods

methods

) oraz właściwości (

) oraz właściwości (

properties

properties

). 

). 

Pole  -

Pole  -

  zmienna

  zmienna

,  będąca  elementem  obiektu. 

,  będąca  elementem  obiektu. 

Jest to pojęcie analogiczne do pola rekordu. 

Jest to pojęcie analogiczne do pola rekordu. 

Metoda 

Metoda 

-  procedura  lub  funkcja  związana  z 

-  procedura  lub  funkcja  związana  z 

klasą

klasą

.

.

Właściwość

Właściwość

  -  wielkość  definiująca  jeden 

  -  wielkość  definiująca  jeden 

z  atrybutów  obiektu,  jej  wartość  jest  zwykle 

z  atrybutów  obiektu,  jej  wartość  jest  zwykle 

przechowywana  w  jednym  z  pól  obiektu. 

przechowywana  w  jednym  z  pól  obiektu. 

Właściwość  posiada  klauzule  dostępu  (

Właściwość  posiada  klauzule  dostępu  (

access 

access 

specifiers

specifiers

), 

które 

określają 

jak 

dana 

), 

które 

określają 

jak 

dana 

właściwość 

jest 

odczytywana 

i/lub 

właściwość 

jest 

odczytywana 

i/lub 

modyfikowana.

modyfikowana.

background image

 

 

Deklaracja klasy

Deklaracja klasy

type

type

  

  

ClassName = 

ClassName = 

class

class

 (AncestorClass)

 (AncestorClass)

      

      

.............................................

.............................................

      

      

MemberList

MemberList

      

      

.............................................

.............................................

end

end

gdzie:

gdzie:

ClassName

ClassName

 

 

- nazwa klasy;

- nazwa klasy;

AncestorClass 

AncestorClass 

- nazwa klasy - przodka w stosunku do 

- nazwa klasy - przodka w stosunku do 

danej klasy;

danej klasy;

MemberList

MemberList

- lista członów klasy.

- lista członów klasy.

background image

 

 

Elementy deklaracji klasy

Elementy deklaracji klasy

AncestorClass 

AncestorClass 

- element opcjonalny. 

- element opcjonalny. 

Jeśli nie zostanie podany, to przyjmuje 

Jeśli nie zostanie podany, to przyjmuje 

się, że przodkiem danej klasy jest klasa 

się, że przodkiem danej klasy jest klasa 

TObject

TObject

, będący najstarszym 

, będący najstarszym 

przodkiem wszystkich klas 

przodkiem wszystkich klas 

Delphi

Delphi

.  

.  

MemberList

MemberList

 - lista wszystkich członów 

 - lista wszystkich członów 

danej klasy. Pod pojęciem członów 

danej klasy. Pod pojęciem członów 

rozumie się pola, metody i właściwości.

rozumie się pola, metody i właściwości.

background image

 

 

Klasy w 

Klasy w 

Delphi

Delphi

Klasy w 

Klasy w 

Delphi

Delphi

 stanowią rozbudowane drzewo 

 stanowią rozbudowane drzewo 

dziedziczenia. Każdy komponent w 

dziedziczenia. Każdy komponent w 

Delphi

Delphi

 jest klasą

 jest klasą

.

.

 

 

Przykładowo: komponent 

Przykładowo: komponent 

MainMenu

MainMenu

 (główne menu aplikacji) 

 (główne menu aplikacji) 

w Delphi 7 jest klasą o nazwie 

w Delphi 7 jest klasą o nazwie 

TMainMenu

TMainMenu

, która dziedziczy 

, która dziedziczy 

pola, metody i właściwości w ciągu dziedziczenia klas: 

pola, metody i właściwości w ciągu dziedziczenia klas: 

TObject - TPersistent - TComponent - TMenu - 

TObject - TPersistent - TComponent - TMenu - 

TMainMenu

TMainMenu

 

 

Szczegóły można odczytywać zaznaczając dany komponent, 

Szczegóły można odczytywać zaznaczając dany komponent, 

wywołując 

wywołując 

Help

Help

 poprzez 

 poprzez 

Ctrl-F1

Ctrl-F1

 oraz wybierając opcję 

 oraz wybierając opcję 

Hierarchy

Hierarchy

a następnie nazwy poszczególnych klas. 

a następnie nazwy poszczególnych klas. 

Nie jest to jednak konieczne, można bowiem wykorzystywać 

Nie jest to jednak konieczne, można bowiem wykorzystywać 

każdy komponent, nie interesując się jego miejscem w 

każdy komponent, nie interesując się jego miejscem w 

strukturze klas środowiska.

strukturze klas środowiska.

background image

 

 

Ważniejsze typy w 

Ważniejsze typy w 

hierarchii klas

hierarchii klas

TObject

Exception

TStream

Tpesistent

TPrinter

TList

TGraphicsObject

TGraphics

TComponent

TCanvas TPicture Tstrings

TTimer

TScreen

TMenuItem

TMenu

TControl TCommonDialogTGlobalComponent

TGraphicsControl

TWinCintrol

TApplication

TCostomComboBox TCostomControl TCostomEdit TCostomListBox

TScrollingWinControl

TForm

background image

 

 

Dziedziczenie i po

Dziedziczenie i po

wtarzanie

wtarzanie

 

 

się członów klas

się członów klas

Deklarując  klasę,  możliwe  jest  wskazanie  jej 

Deklarując  klasę,  możliwe  jest  wskazanie  jej 

przodka 

przodka 

(

(

ancestor

ancestor

).  Dana  klasa  stanie  się  wówczas 

).  Dana  klasa  stanie  się  wówczas 

potomkiem 

potomkiem 

(

(

descendant

descendant

),  który  będzie 

),  który  będzie 

dziedziczyć  od  przodka

dziedziczyć  od  przodka

 

 

wszystkie człony tj. 

wszystkie człony tj. 

pola, metody i właściwości

pola, metody i właściwości

. Można 

. Można 

zadeklarować  nowe  dodatkowe  człony.  Ich  zasięg 

zadeklarować  nowe  dodatkowe  człony.  Ich  zasięg 

ważności  będzie  sięgał  od  miejsca  deklaracji  i 

ważności  będzie  sięgał  od  miejsca  deklaracji  i 

rozciągać  się  na  bloki  wszystkich  metod  danej  klasy  i 

rozciągać  się  na  bloki  wszystkich  metod  danej  klasy  i 

na wszystkich potomków danej klasy.

na wszystkich potomków danej klasy.

Jeśli  zadeklaruje  się  u  potomka  nowe  człony  o  tych 

Jeśli  zadeklaruje  się  u  potomka  nowe  człony  o  tych 

samych nazwach jak u przodka, to nowe człony pokryją 

samych nazwach jak u przodka, to nowe człony pokryją 

(przysłonią)  analogiczne  człony  przodka,  jednak  nie 

(przysłonią)  analogiczne  człony  przodka,  jednak  nie 

zlikwidują  ich.  Będą  one  nadal  dostępne,  ale  pod 

zlikwidują  ich.  Będą  one  nadal  dostępne,  ale  pod 

warunkiem  ich  jawnego  wywołania,  to  znaczy  wraz  z 

warunkiem  ich  jawnego  wywołania,  to  znaczy  wraz  z 

poprzedzającą nazwą przodka.

poprzedzającą nazwą przodka.

background image

 

 

Widoczność - dostęp

Widoczność - dostęp

Delphi

Delphi

  każdy  człon  klasy  cechuje  jego   

  każdy  człon  klasy  cechuje  jego   

widoczności 

przez 

inne 

elementy 

widoczności 

przez 

inne 

elementy 

aplikacji  (

aplikacji  (

visibility

visibility

).  Istnieją  następujące 

).  Istnieją  następujące 

klauzule  widoczności  –  dostępu  członów 

klauzule  widoczności  –  dostępu  członów 

klas:

klas:

private

private

 (prywatne)

 (prywatne)

protected

protected

 (chronione)

 (chronione)

public

public

published

published

 (publikowane)

 (publikowane)

automated

automated

 (automatyczne)

 (automatyczne)

background image

 

 

private

private

   (prywatne)

   (prywatne)

Człony tego typu są widoczne jedynie 

Człony tego typu są widoczne jedynie 

wewnątrz modułu, w którym 

wewnątrz modułu, w którym 

znajduje się deklaracja klasy

znajduje się deklaracja klasy

background image

 

 

protected

protected

 (chronione)

 (chronione)

Człony tego typu są widoczne 

Człony tego typu są widoczne 

jedynie wewnątrz modułu, w 

jedynie wewnątrz modułu, w 

którym znajduje się deklaracja 

którym znajduje się deklaracja 

klasy, a także przez wszystkich 

klasy, a także przez wszystkich 

potomków danej klasy

potomków danej klasy

;

;

background image

 

 

public

public

 (publiczne)

 (publiczne)

Człony tego typu są widoczne przez 

Człony tego typu są widoczne przez 

wszystkie moduły aplikacji, które 

wszystkie moduły aplikacji, które 

widzą deklarację danej klasy;

widzą deklarację danej klasy;

background image

 

 

published

published

  (publikowane)

  (publikowane)

Człony  tego  typu  są  widoczne  przez 

Człony  tego  typu  są  widoczne  przez 

wszystkie  moduły  aplikacji,  które  widzą 

wszystkie  moduły  aplikacji,  które  widzą 

deklarację 

danej 

klasy.

deklarację 

danej 

klasy.

Informacje te nazywają się 

Informacje te nazywają się 

RTTI - Runtime 

RTTI - Runtime 

Type  Information

Type  Information

.  Są  one  dostępne  w 

.  Są  one  dostępne  w 

czasie  wykonywania  aplikacji,  a  także 

czasie  wykonywania  aplikacji,  a  także 

wykorzystywane 

przez 

wykorzystywane 

przez 

inspektora 

inspektora 

obiektów (Object Inspector);

obiektów (Object Inspector);

background image

 

 

automated

automated

  

  

(automatyczne)

(automatyczne)

Człony tego typu są widoczne przez 

Człony tego typu są widoczne przez 

wszystkie moduły aplikacji, które 

wszystkie moduły aplikacji, które 

widzą deklarację danej klasy. 

widzą deklarację danej klasy. 

Dodatkowo kompilator wydaje i 

Dodatkowo kompilator wydaje i 

udostępnia specjalną informację o 

udostępnia specjalną informację o 

tych członach wymaganą przez 

tych członach wymaganą przez 

serwery automatyzacji COM.

serwery automatyzacji COM.

background image

 

 

Brak jawnej klauzuli 

Brak jawnej klauzuli 

widoczności

widoczności

Człony zadeklarowane w początkowej 

Człony zadeklarowane w początkowej 

części deklaracji klasy, dla których 

części deklaracji klasy, dla których 

nie podano w sposób jawny klauzuli 

nie podano w sposób jawny klauzuli 

widoczności są standardowo 

widoczności są standardowo 

traktowane jako 

traktowane jako 

published

published

, pod 

, pod 

dodatkowym warunkiem, że aplikacja 

dodatkowym warunkiem, że aplikacja 

jest skompilowana z dyrektywą 

jest skompilowana z dyrektywą 

kompilatora {$M+}. W przeciwnym 

kompilatora {$M+}. W przeciwnym 

razie są traktowane jako 

razie są traktowane jako 

public

public

.

.

background image

 

 

Pole

Pole

Pole jest podobne do zmiennej 

Pole jest podobne do zmiennej 

należącej do danego obiektu. Pole 

należącej do danego obiektu. Pole 

może być dowolnego typu, włączając tu 

może być dowolnego typu, włączając tu 

także klasę (to znaczy, że klasa może 

także klasę (to znaczy, że klasa może 

być zagnieżdżona w klasie). Pola mają 

być zagnieżdżona w klasie). Pola mają 

zazwyczaj przypisaną klauzulę 

zazwyczaj przypisaną klauzulę 

private

private

 

 

widoczności. 

widoczności. 

Deklaracje pól muszą poprzedzać 

Deklaracje pól muszą poprzedzać 

deklaracje metod i właściwości.

deklaracje metod i właściwości.

background image

 

 

Przykład deklaracji pola

Przykład deklaracji pola

type

type

  

  

TNumber = 

TNumber = 

class 

class 

{klasa TNumber dziedziczy 

{klasa TNumber dziedziczy 

człony od TObject}

człony od TObject}

     

     

   

   

Int: integer;

Int: integer;

  

  

   

   

end

end

;

;

background image

 

 

Metody

Metody

Wewnątrz 

deklaracji 

klasy 

umieszcza 

się 

Wewnątrz 

deklaracji 

klasy 

umieszcza 

się 

deklarację  metody,  to  znaczy  funkcji  lub 

deklarację  metody,  to  znaczy  funkcji  lub 

procedury.

procedury.

 

 

 

 

Deklarację  klasy  wraz  z  deklaracją  metod 

Deklarację  klasy  wraz  z  deklaracją  metod 

umieszcza  zwykle  w  części  publicznej  modułu  za 

umieszcza  zwykle  w  części  publicznej  modułu  za 

słowem  kluczowym

słowem  kluczowym

 

 

interface

interface

  (choć  można  to 

  (choć  można  to 

zrobić 

też 

zrobić 

też 

w  części  implementacyjnej  modułu  za  słowem 

w  części  implementacyjnej  modułu  za  słowem 

kluczowym 

kluczowym 

implementation

implementation

).

).

Definicje metod muszą być umieszczone wyłącznie 

Definicje metod muszą być umieszczone wyłącznie 

w części implementacyjnej modułu.

w części implementacyjnej modułu.

background image

 

 

Przykład

Przykład

interface

interface

.............................................

.............................................

type

type

   

   

TMyClass = 

TMyClass = 

class

class

      

      

.......................................

.......................................

      

      

procedure

procedure

 DoSomething;

 DoSomething;

      

      

.......................................

.......................................

    

    

end

end

;

;

...............................................

...............................................

...............................................

...............................................

implementation       

implementation       

...............................................

...............................................

procedure

procedure

 TMyClass.DoSomething;

 TMyClass.DoSomething;

begin

begin

  

  

...................

...................

  

  

...................

...................

end

end

;

;

...............................................

...............................................

background image

 

 

Deklaracja metod

Deklaracja metod

W deklaracji metody

W deklaracji metody

 umieszcza się pełny nagłówek 

 umieszcza się pełny nagłówek 

metody wraz z listą parametrów formalnych i typem 

metody wraz z listą parametrów formalnych i typem 

zwrotnym, natomiast 

zwrotnym, natomiast 

w definicji metody

w definicji metody

 wystarczy podać nazwę metody, ale 

 wystarczy podać nazwę metody, ale 

z poprzedzającą nazwą klasy oddzieloną kropką bez listy 

z poprzedzającą nazwą klasy oddzieloną kropką bez listy 

parametrów. Jeśli jednak listę parametrów formalnych 

parametrów. Jeśli jednak listę parametrów formalnych 

metody i typ zwrotny się powtarza, to muszą być one 

metody i typ zwrotny się powtarza, to muszą być one 

identyczne jak w deklaracji.

identyczne jak w deklaracji.

Deklaracje metod

Deklaracje metod

 mogą być zaopatrzone w 

 mogą być zaopatrzone w 

specjalne 

specjalne 

dyrektywy

dyrektywy

 funkcji lub procedury: 

 funkcji lub procedury: 

reintroduce

reintroduce

overload

overload

binding

binding

 (w tym: 

 (w tym: 

virtual

virtual

dynamic

dynamic

override

override

), 

), 

calling 

calling 

convention

convention

 (w tym: 

 (w tym: 

register

register

pascal

pascal

cdecl

cdecl

stdcall

stdcall

safecall

safecall

), 

), 

abstract

abstract

 oraz 

 oraz 

warning

warning

 (w tym: 

 (w tym: 

platform

platform

deprecated

deprecated

library

library

). Nazwy wyprowadzone kursywą są 

). Nazwy wyprowadzone kursywą są 

to nazwy grup dyrektyw a nie samych dyrektyw.

to nazwy grup dyrektyw a nie samych dyrektyw.


Document Outline