Programowanie obiektowe.pdf
(
729 KB
)
Pobierz
110594788 UNPDF
PODSTAVITY
PROGRAMOWANIA
OBIEKTOWEGO
15.1.
Wprowadzenie
l
Programowanie
obiektowe
jest
nowoczesn4
technik4
progTamowa.
nia,
ktra
zosta-a
upowszechniona w ostatnich
latach'
Programowanie
obiektowe polega
na
operowaniu
w
programie obiektami,
ktrymi
s
dane
wraz
z
tak
zwanymi
metodami,
czyli
procedurami
i
funkcjami,
ktre
mogq
by
wykorzystane
wycznie
dla
cileokrelonych danych'
Ide
programowania
obiektowego
zilustrujemy
na
przykadach
w
kolejnych punktach
niniej szego
rozdzjau.
Zmienna
obiektowa
lub
po prostu
obiekt
jest
elementem
pewnej
klasy. Klasa
jest
to
typ
obiektowy,
ktry
definiujemy w
podobny
sposb
jak
typ
rekordowy, zastpuj4c
sowo
kluczowe
record
sowem
k]uczo.
wym object.
Rozwamy
nastpuj
4cy
fragment
programu:
tyPe
tekst20
:
stringl20l;
Osoba
:
object
nazwisko:
tekst2O;
imie:
tekst20;
adres:
tekst20;
end;
Powyszy
fragment
programu
definiuje
typ
obiektowy
(klas)
o
nazwie osoba zawieraj4cy
nastpuj4ce pola:
nazwisko,
imie
oraz
adres.
Dostp
do
tych
pI
otaz
wyprowadzanie
ich
zawaoci
powinno
si
odbywa
wyqcznie
przy
wykorzystaniu
metod,
czyli
procedur
lub
fun-
kcji. Nagwki
metod powinny
by
zadeklarowane
w
definicji
klasy,
na'tomiast
ich
tre
naley
poda
w
dalsz}'.m
ci4gu progTamu'
Przypumy,
ze
dla
kiasy
osoba
chcemy mie dwie
metody:
pierw-
szq
o
r:.azwie
Init
suc4
do
wprowadzania
danych
do
pl
obiektu
oraz
drug4
o
nazwie
Drukuj
wykorzystywan4
do
wyprowadzenia
danych
zawartych w polach
obiektu.
(nazwa Init
powinna by
zawsze stosowa-
na
dla metody
inicjuj4cej obiekt). Deklaracja
klasy
osoba moe
zaem
zostac
tozszerzarua
w
sposb
nastpuj4cy:
tyPe
tekst20
:
stringl2)l;
osoba
:
object
nazwisko:
tekst20;
imie:
tekst20;
adres:
tekst20;
procedure
fnit(p
nazwisko,
procedure
Drukuj;
end;
p_imie, p_adres
:
tekst20
)
;
A
oto
przykadowa
tremetod
Init
oraz Drukuj:
procedure
osoba.
Init(p
nazwisko, p_imie, p_adres
:
tekst2O
)
;
begin
nazwisko :: p
nazwisko;
imie
:
:
p_imie;
adres :: p
adres
end;
procedure
Osoba.Drukuj
;
begin
writeln(nazwisko
:
20,
imie
:
20,
adres
:
20)
end;
Zwrrny uwag, e
w
instrukcji
procedure
przed nazw4
metody
wystpuje nazwa
klasy
wTaz
z
kropk4
oddzielajqc
te
dwie
nazvq1..
Metoda zdefiniowana w
danej
klasie
moe by stosowana
wy4cznie
do
wykonywania operacji na polach okrelonych w tej
klasie'
Pola
danego
obiektu w
momencie
wykonywania metody
s4
automatycznie
dostpne.
Przypomnijmy,
e
w
celu uzyskania
dostpu
do
pI
rekordu
laLey
poda deskryptor
pola
lub
wykorzysta instrukcj with.
Natomiast
w
przypadku
obiektu wystarczy
wywoa
metod
w
ten
sposb,
ze
naj-
pierw
podajemy nazw obiektu, a nastpnie po kropce nazw
metody.
Na
przykad
dla
rozwazanej klasy osoba zadeklarujemy najpierw
dwa
obiekty o
nazwach
X,
Y,
d nastpnie przypiszemy polom tych
obiektw
pewne
wartoci'Deklaracje
obiektw
realizuje
si
nastpuj4co:
var
rKowalskir
r'
Jan'
r'Warszawa'
)
i
co
powoduje, e
pola obiektu
x:
nazwisko, imie, adres przyjm4 wartoci
'Kowalski
',
'Jan',
''Wa-rszawa'.
Ilustruje
to
rys.
15.1.
nazwisko
|
'Kowalski'
imie
|
'Jan'
adres
|
'Warszawa'
Rys.
15.1.
Zavtartoci pl
obiektu x
po
wykonaniu
metody
Init.
Przypisanie waoci
polom
obiektu
y
wykonuje
si analogicznie:
y.
rni(
|Tomaszewski'
,
lPiotr'
,
'Kaowice'
)
;
Zavtafto
pI obiektu
y:
nazwisko,
imie,
adres bdzie
kolejno
'Tomaszewski',
'Piotr',
'Katowice'.
Ilustruje
to
rys.
15.2.
X,
Y:
osoba
{
zadeklarowanie obiektw
klasy
osoba
]
W
celu
przypisania polom
obiektu
x konkretnych waoci
wywou.
je-y
metod
Init
w postaci:
x.
Init(
nazwisko
I
'Tomaszew-
I
ski'
adres
I
'Piotr'
'Katowice'
Rys.
15.2.
Zavlattoci
pl
obiektu
y
po
wykonaniu
metody
Init.
Warto
zwrlci
uwag
na fakt,
e identyfrkacja obiektu,
dla
ktrego
ma by
dokonana
operacja
przypisania
odbywa
si
poprzez
podanie
odpowiedniej nazwy
w wywoaniu'
Jeeli
napiszemy
x.Init,
to
operacja
zostanie
wykonana
dla
pI
obiektu x, natomiast
y.Init
powoduje wyko-
nanie
operacji
dla pl
obiektu
y.
Naley te podkreIi,ze metoda
Init
moe by wykorzystana wy4cznie
dla
obiektw
klasy
osoba. Bdne
byoby
wywoanie
postaci
:
Tnit(
rTomaszewskit,'Piotr',
rKatowice'
)
;
z
batdzo prostego powodu,
a
mianowicie'
e
nie
s4
okreIone
pola,
ktrym naley przypisa wartoci'
Do
wyprowadzenia
zawaocipl
obiektw
klasy osoba
posuy
nam
metoda
Drukuj
wywoana
naspujqco:
x.
Drukuj
;
y.
Drukuj
;
Najpierw
zostan wyprowadzole zawaoci
pl
obiektu
x'
a
nas-
tpnie
obiektu
y.
Pena tre
programu ilustrujcego
wykorzystanie
klasy
osoba
jest
przedstawiona
poniej.
Program
15.1
program
Baza_danych;
{
Program
ilustrujcy wykorzystanie obiektw
}
tyPe
tekst20
:
stringI2O);
{
zadeklarowanie
klasy
Osoba
}
imie
Osoba
:
object
nazwisko:
tekst20;
imie:
tekst20;
adres:
tekst20;
procedure
Tnit(p_nazwj-sko, p_imie, p_adres
:
tekst20
)
;
procedure Drukuj;
end;
procedure
osoba.
rnit(p_nazwisko,p-imie/
p_adres
:
teks20)
;
begi
nazwisko :: p
nazwisko;
imie ::
p_imie;
adres ::
p_adres
end;
procedure
Osoba.
Drukuj
;
begin
writeln(nazwisko
:
20,
imie
:
20,
adres
:
20)
elrd;
var
Xry:
Osoba;
{
zadeklarowanie obiektw k1asy osoba
J
begin
x.
Init(
rKowal-ski'
r
tJant
r
tWarszawa'
)
;
y.
Tnit(
rTomaszewski'
r'piotrr,
rKatowice'
)
;
x
-
Drukuj
;
y.
Drukuj
end.
Czytelnik
mgby odnie
teraz
wtazenie, e programowanie
obiek-
towe
jest
bardzo mao
oglne.
Metod
Init
mona
bowiem wykona
wy4cznie dla
obiektw
nalecych
do
klasy
osoba. Tak
jednak
nie
jest,
poniewa moemy
tworzy pewn
hierarchi
klas,
w
ktrej
obiekt
umieszczony
niej
w
hierarchii
dziedziczy
wszystkie cechy
obiektu
umieszczonego wyej. Dziedziczy,
t,zn.
ma
dostp
do wszystkich pl
i
moe
wykorzystywa wszystkie metody obiektw
umieszczonych
wyej
w hierarchii. Zanim
omwimy to dokadniej, rczwazmy
jeszcze
metod
Init
zadeklarowl]l4 dla
klasy
osoba
umoliwiaj
4cq
wczyanie
wartoci
pl
danego
obiektu
klasy
osoba. Wartociprzypisywane
poszczegInym
polom
danego
obiektu
klasy
osoba byy
podane
jako
parametry
aktual-
ne przy
wywoaniu
metody.
Rwnie dobrze
waoci
te
mog
by
wczytywane
z
zewn4ttz. Ilustruje
to
ponisza
metoda
Init:
procedure
Osoba.Init;
begin
writeln
(
'
Podaj nazwisko, imi oraz
adres
'
;
;
Plik z chomika:
rusek88
Inne pliki z tego folderu:
13 Surfin' Bird.mp3
(5534 KB)
01 Surfin' Bird.mp3
(5602 KB)
ZDJĘCIA NYSY.rar
(131630 KB)
Prezentacja.txt
(0 KB)
Programowanie.rar
(205 KB)
Inne foldery tego chomika:
!!!!!Dead Rising 2 Torrent + crack!!!!!
Desperate Housewives !!!
Dokumenty
Filmy
Galeria
Zgłoś jeśli
naruszono regulamin