Documente Academic
Documente Profesional
Documente Cultură
PE OBIECTE
[ Programarea Calculatoarelor
si Limbaje de Programare III ]
2012-Suceava
BIBLIOGRAFIE
A. CARTI
t.Gh. Pentiuc - Structuri de date i algoritmi fundamentali. Curs, Universitatea "tefan cel Mare" Suceava, 1993.
t.Gh. Pentiuc - Structuri de date i algoritmi fundamentali. ndrumar de laborator, Universitatea "tefan cel
Mare" Suceava, 1993
B. Referinte WEB
http://www.cplusplus.com/
http://www.oopweb.com/CPP/Documents/ThinkingInCpp1/VolumeFrames.html
http://www.oopweb.com/CPP/Documents/ThinkingInCpp2/VolumeFrames.html
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1905.pdf
http://www.open-std.org/jtc1/sc22/wg21/
Fundamentele POO
Conceptele ce definesc tehnologiile orientate obiect
Supradefinirea operatorilor ( 6h )
Polimorfismul ( 4h )
Funcii virtuale
Funcii pur virtuale
Mecanismul Template ( 3h )
(2h)
(2h)
(2h)
(2h)
(2h)
(2h)
(2h)
(2h)
(2h)
(2h)
(2h)
(2h)
Realizarea unei arhitecturi de clase pentru implementarea noiunii de Lista, Stiva sau alte TDA-uri.
Realizarea unei arhitecturi de clase pentru implementarea noiunii de Mulime (reprezentare prin vectori pe
bii).
Sistemul de clase pentru implementarea unor figuri geometrice cunoscute (avnd reprezentare grafic ).
OBIECTIVE
pentru curs:
Constientizarea de catre studentii a importantei studierii programarii obiect orientate in contextual aplicatiilor moderne;
Prezentarea conceptelor i principiilor orientrii pe obiecte din perspectiva limabjului de programare C++;
Cursul isi propune familiarizarea studentilor cu notiunile teoretice si practice ale programarii obiectuale utilizate in cadrul
unor sisteme si compilatoare moderne de dezvoltare a aplicatiilor in C++ (Borland C++ 3.1, CodeBlocks, GCC, Visual C++,
Borland C++ Builder etc.).
Abordarea se face astfel incat aplicatiile dezvoltate sa poata fi rulate atat pe calculatoare personale (PC) cat si pe
echipamente mobile moderne.
In mod special sunt urmarite aspectele legate de optimizarea aplicatiilor din punctul de vedere al memoriei utilizate si a
vitezei de calcul.
pentru aplicatii:
Aplicatiile vin sa completeze notiunile dobandite la curs si sa creeze deprinderi corecte in dezvoltarea aplicatiilor
obiectuale.
Sunt folosite mai multe compilatoare, de la mai vechi, Borland C++ 3.1, la modernele VisualC++, Borland C++Builder, etc.
Se va programa pe platforme Windows cat si pe platforme Linux;
Temele laboratoarelor impun rezolvarea unor probleme concrete ce necesita fundamentarea cunostintelor acumulate in
timpul cursurilor.
CERINTE la DISCIPLINA
POO / PCLP III
A.
B.
C.
3. Recuperarea laboratoarelor:
CERINTE la DISCIPLINA
POO / PCLP III
A. Activitatea pe parcurs
la specializarea AUTOMATICA
B. Activitatea pe parcurs la
specializarea CALCULATOARE
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Agent-oriented
Component-based
Flow-based
Pipeline
Concatenative
Concurrent computing
Declarative (contrast: Imperative)
Functional
Dataflow
Paradigme de
programare
Constraint
Logic
Constraint logic
Abductive logic
aInductive logic
Modular
Recursive
Object - oriented
Class-based
Prototype-based
Automata-based
By separation of concerns:
- Aspect-oriented
- Subject-oriented
- Role-oriented
Language-oriented
Domain-specific
Grammar-oriented
Dialecting
Intentional
Metaprogramming
Automatic
Generic
Template
- Policy-based
Reflective
Attribute-oriented
Nondeterministic
Parallel computing
http://en.wikipedia.org/wiki/Object-oriented_programming
( contrast: Non-
Procedural
Iterative
Structured
structured)
Cell-oriented
(spreadsheets)
Reactive
Event-driven
Service-oriented
Time-driven
Expression-oriented
Feature-oriented
Function-level ( contrast: Value-level)
Imperative ( contrast: Declarative)
Process-oriented
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
Programare nestructurata
programul principal
lucreaza direct cu
datele globale
2012/2013 - Suceava
O privire
asupra
tehnicilor de
programare
Observatii ....
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
O privire
asupra
tehnicilor de
programare
Programare procedurala
programul principal
apeleaza procedurile
si gestioneaza
parametri transmisi
cat si valorile
returnate
apelul procedurilor si
revenirea in locul
apelului
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
O privire
asupra
tehnicilor de
programare
Programare structurata
Disciplin n programare prin folosirea unor
structuri bine precizate (fr goto).
Orice problem se poate descrie doar prin utilizarea
urmtoarelor trei structuri:
secvential,
alternativ,
repetitiv.
Limbaje specifice acestui stil de programare:
limbajul C,
limbajul Pascal,
etc.
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
O privire
asupra
tehnicilor de
programare
Programare modulara
programul principal
apeleaza procedurile
in module separate
si gestioneaza datele
corespunzatore ca si
parametri
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
O privire
asupra
tehnicilor de
programare
PRINCIPII .....
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Istoria
limbajului C++
Limbajul C++
1970 - pentru prima dat definit limbajul C (Brian
Kernighan & Dennis Ritchie)
1965 existenta limbajelor orientate pe obiect:
SIMULA (1965)
SIMULA 2 (1967)
SMALLTALK (1970)
[ Dezavantajul acestor limbaje (n sensul c nu au
rmas pe pia ocupnd un procent foarte mare)
este faptul c nu au aprut de sine stttoare,
adic nu s-au bazat pe limbajele anterioare ]
1980 - BJARNE STROUSTRUP definete sub
denumirea de C with classes, limbajul ce a
devenit ulterior C++ .;
1983 - acest limbaj intr n lumea academic
1990 se incepe standardizarea prin comitetul
ANSI - X3J16 http://www.openstd.org/jtc1/sc22/wg21/docs/wp/html/oct97/
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Limbajului C++
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Fundamentele
Programarii
Orientate pe
Obiecte
PROGRAM
ALGORITMI
OBIECT
METODE
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Fundamentele
Programarii
Orientate pe
Obiecte
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Conceptele
utilizate in
Tehnologiile
Orientate pe
Obiecte
ncapsularea
Abstractizarea
Motenirea ( Generalizarea si Specializarea )
Polimorfismul
Clasa
Obiect
Instanta
Metoda
Mostenire
Abstarctizare
Polimorfism
- class
- object
- instance
- method
- inheritance
- abstraction
- polymorphism
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Conceptele
utilizate in
Tehnologiile
Orientate pe
Obiecte
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Conceptele utilizate in
Tehnologiile Orientate pe
Obiecte
INCAPSULAREA
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Conceptele utilizate in
Tehnologiile Orientate pe
Obiecte
ABSTRACTIZAREA
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Conceptele utilizate in
Tehnologiile Orientate pe
Obiecte
MOSTENIREA
Odat cu motenirea se definete generalizarea si
specializarea.
In fond, reprezint acelai lucru :
In cazul specializrii privim motenirea n evoluia sa
dinspre clasa de baz catre cea derivat (specializat),
iar generalizarea este fenomenul privit n sens invers.
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
Conceptele utilizate in
Tehnologiile Orientate pe
Obiecte
POLIMORFISMUL
PROGRAMAREA
ORIENTATA PE OBIECTE /
PCLP III
2012/2013 - Suceava
O privire
asupra
tehnicilor de
programare