Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Podstawoweelementyikonstrukcje
Rysunek1020Koncepcyjnyschematklasy
11
$Uwaga!Wogólnościobiektemnazywasięobszarpamięci,wktórymzapisujemylub
zktóregoodczytujemyjakąśinformację.Zapispowinienbyćprowadzonywtakisposób,
abywpisywanymbajtomlubciągombajtówmożnabyłonadaćprzyodczyciesensowną
interpretację.Takrozumianeobiektymusząbyćwystąpieniamiklaszdefiniowanychprzez
programistęlubwystąpieniamitypówwcześniejzdefiniowanych(predefiniowanych)wję-
zyku,np.liczbamibądŹznakami(otypachpowiemyszerzejwkrótce).Umieszczanym
wpamięciobiektomnajczęściejnadajesięnazwysymboliczne,przezktóreodwołujemy
siędonichwprogramie;dziękitemuniemusimyznaćichadresówfizycznych.Jeżeli
obiektdeklarujesiętak,żeinformacjędozajmowanegoprzezniegoobszarupamięci
możnazapisaćtylkoraz,wówczasreprezentujeonpewnąwartośćstałą.Jeżelizaśmoż-
nadokonywaćwpisówwielokrotnie,tozawartośćomawianegoobszarupamięcibędzie
innapokażdymzapisieñobiektreprezentujewtedyzmienną.
Obiektowyjęzykprogramowaniamoże–opróczwymienionych–miećnastępującece-
chydodatkowe:
•
Przeciążaniefunkcji/procedurioperatorów(jestwC++).
•
Klasy/typyrodzajowe,tj.parametryzowane,alboszablony(sąwC++).
•
Obiektytrwałe(niemawstandardzieC++,alesąwniektórychimplementacjach).
•
Odzyskiwanienieużytków(niemawC++).
•
Współbieżność(niemawC++).
•
Bibliotekiklas(sąwC++).
•
Obiektysieciowe(niemawC++).
•
Modularyzacjawdużejskali–przestrzenienazw(sąwC++).Cechataumożliwiade-
kompozycjędużegosystemu(rzędu1mlninstrukcji)namniejszepodsystemy.
Wymienionewyżejcechypozwalajątworzyćprogramystrukturalne,zorganizowanewo-
kółklasiobiektów,orazsystemy,wktórychpodstawowymidziałaniamisąinterakcjemiędzy
obiektami.
1.3.
Konstrukcjaiprzetwarzanieprogramu
ProgramowaniewjęzykuC++wymaganapisaniatekstuprogramu(postaciźródłowej,
koduźródłowego),przetłumaczeniagonapostaćzrozumiałądlakomputera(binarnykod
wynikowy,kodwykonalny)orazwykonaniawtejpostaci.Postaćźródłowąprogramuwjęzyku