Cuprins
- INTRODUCERE 4
- 1. PROGRAMAREA ORIENTATĂ PE OBIECTE: 5
- CONCEPTE, PRINCIPII ȘI LIMBAJE DE PROGRAMARE 5
- 1.1. Conceptul de Obiect în OOP 5
- 1.2. Principiile Cheie ale OOP - Încapsulare, Moștenire și Polimorfism 5
- 1.3. Principiile fundamentale ale OOP: Încapsulare, Moștenire și Polimorfism 5
- 1.4. Avantajele OOP 6
- 1.5. Dezavantajele OOP 6
- 1.6. Limbaje de programare orientată pe obiecte 6
- 1.7. Concluzii 7
- 2. PROGRAMAREA LOGICĂ: 8
- FUNDAMENTE, CARACTERISTICI ȘI LIMBAJE DE PROGRAMARE 8
- 1.1. Concepte de bază în Programarea Logică 8
- 1.2. Principii Fundamentale în Programarea Logică 8
- 1.3. Funcționalități Cheie în Programarea Logică 8
- 1.4. Avantajele Programării Logice: Coerență și Eficiență în Abordarea Problemelor Complexe 9
- 1.5. Dezavantajele Programării Logice 9
- 1.6. Limbaje de programare logice 10
- 1.7. Concluzii 10
- 3. MEDII DE PROGRAMARE 11
- 3.1. Importanța Mediilor de Programare OOP 11
- 3.2. Medii de Programare Logice și Caracteristicile Lor Distinctive 12
- 3.3. Concluzii 13
- 4. ANALIZA INTERFEȚELOR MEDIILOR DE PROGRAMARE 14
- Interfața unui mediu de programare (IDE) este elementul central prin care programatorii interacționează cu software-ul. O interfață bine concepută poate facilita semnificativ procesul de dezvoltare, sporind productivitatea și eficiența 14
- 4.1. Analiza critică a interfețelor OOP 14
- 4.2. Analiza critică a interfețelor LP 17
- 4.3. Concluzii 18
- 5. DEMONSTRARE PRACTICĂ 19
- 5.1. Dezvoltarea unei aplicații utilizând conceptele OOP 19
- 5.1.1. Funcționalități cheie 19
- 5.1.2. Interfață utilizator 19
- 5.1.3 Concluzii 21
- 5.2. Implimentarea unui program utilizând LP 21
- 5.2.1. Structura programului 21
- 5.2.2. Utilizarea programului 21
- 5.2.3. Concluzii 23
- CONCLUZII 24
- BIBLIOGRAFIE 25
- ANEXE 26
- Anexa1 26
- Anexa2 27
Extras din proiect
INTRODUCERE
În era digitală în care trăim, dezvoltarea software-ului reprezintă un aspect esențial al progresului tehnologic. Două paradigme majore în lumea programării, și anume programarea orientată pe obiecte și programarea logică, au evoluat semnificativ de-a lungul timpului, oferind abordări distincte pentru rezolvarea problemelor complexe. Analiza descriptivă și comparată a acestor două domenii de programare devine imperativă pentru a înțelege caracteristicile, avantajele și dezavantajele fiecăreia, precum și pentru a face alegeri informate în procesul de dezvoltare a software-ului.
Programarea orientată pe obiecte (OOP) și programarea logică (PL) reprezintă abordări fundamentale în dezvoltarea software-ului, fiecare cu principii și concepte specifice. Programarea orientată pe obiecte se axează pe organizarea codului în jurul obiectelor, entități care înglobează atât datele, cât și comportamentul asociat acestora. OOP promovează encapsularea, moștenirea și polimorfismul, facilitând astfel dezvoltarea de software modular și flexibil.
Pe de altă parte, programarea logică se bazează pe logica matematică și teoria mulțimilor pentru a rezolva probleme. În mod specific, limbajele de programare logică, precum Prolog, utilizează reguli de inferență pentru a deduce concluzii din fapte și relații specificate. PL se remarcă prin capacitatea sa de a rezolva probleme complexe prin intermediul raționamentului logic, fiind utilizată frecvent în domenii precum inteligența artificială și sisteme expert.
Scopul analizei noastre este de a explora detaliat aceste paradigme distincte, evidențiind aspectele esențiale ale programării orientate pe obiecte și ale programării logice. Vom investiga structura, conceptele cheie, beneficiile și limitările fiecărei abordări pentru a oferi o imagine cuprinzătoare asupra modului în care acestea pot influența dezvoltarea software-ului în diferite contexte. În plus, vom identifica situațiile în care una dintre aceste paradigme poate fi preferabilă față de cealaltă, contribuind astfel la formarea unei perspective informate în ceea ce privește alegerea unei abordări de programare într-un anumit proiect.
Prin această analiză descriptivă și comparată, ne propunem să aducem lumină asupra diversității și complexității domeniilor de programare orientată pe obiecte și programare logică, evidențiind astfel rolul lor semnificativ în evoluția tehnologiei software și în abordarea provocărilor din diverse domenii de aplicare.
1. PROGRAMAREA ORIENTATĂ PE OBIECTE:
CONCEPTE, PRINCIPII ȘI LIMBAJE DE PROGRAMARE
Programarea Orientată pe Obiecte (OOP) reprezintă un cadru conceptual esențial în dezvoltarea software modernă, având la bază idei puternice și principii fundamentale. Acest eseu explorează conceptele și principiile-cheie ale OOP, evidențiind rolul lor în facilitarea dezvoltării de aplicații eficiente și ușor de gestionat.
1.1. Conceptul de Obiect în OOP
Unul dintre pilonii esențiali ai OOP este conceptul de obiect, care servește ca unitate de bază. Obiectele încorporează date și funcționalități, oferind astfel o modalitate de a organiza și manipula informațiile. Aceste obiecte sunt definite prin intermediul claselor, șabloane sau tipuri de date care definesc caracteristicile și comportamentul obiectelor.
1.2. Principiile Cheie ale OOP - Încapsulare, Moștenire și Polimorfism
OOP aduce cu sine și conceptul de încapsulare, care presupune ascunderea detaliilor de implementare ale unui obiect și oferirea unei interfețe clare pentru interacțiunea cu acesta. Prin încapsulare, se obține un nivel crescut de abstractizare și se minimizează dependența între diferitele componente ale unui sistem.
Moștenirea este o altă noțiune centrală în OOP, permițând unui obiect să moștenească atribute și metode de la un alt obiect. Aceasta promovează reutilizarea codului și structurarea ierarhică a claselor, contribuind astfel la o dezvoltare mai eficientă și la crearea unor structuri de cod mai flexibile și ușor de extins.
Principiul polimorfismului oferă posibilitatea obiectelor de a lua mai multe forme, adică de a răspunde la același apel de metodă în moduri diferite. Acest aspect esențial al OOP permite dezvoltatorilor să creeze cod mai flexibil, adaptabil la diverse situații și condiții.
1.3. Principiile fundamentale ale OOP: Încapsulare, Moștenire și Polimorfism
Pe lângă aceste concepte de bază, există principii fundamentale care ghidează implementarea OOP:
- Principiul Încapsulării: Detaliile interne ale obiectelor sunt ascunse, și accesul se realizează doar prin intermediul metodelor publice ale obiectului. Acest principiu sporește securitatea și facilitează gestionarea evoluțiilor în cod.
- Principiul Moștenirii: Subclaselor li se permite să moștenească atributele și metodele clasei părinte, promovând astfel reutilizarea codului și extensibilitatea programului.
- Principiul Polimorfismului: Obiectele pot să-și modifice comportamentul în funcție de context, oferind flexibilitate și extensibilitate în implementare.
Bibliografie
Cărți:
1. Bratko, Ivan. (2001). Prolog: Programming for Artificial Intelligence. 4th Edition. Addison- Wesley.
2. Eckel, Bruce. (2000). Thinking in Java. 3rd Edition. Prentice Hall.
3. Fowler, Martin. (2003). UML Distilled: A Brief Guide to the Standard Object Modeling Language. 3rd Edition. Addison-Wesley.
4. Sterling, Leon, and Shapiro, Ehud. (1986). The Art of Prolog. 2nd Edition. MIT Press.
Articole:
1. Booch, Grady. (1994). "Object-Oriented Design with Applications." IEEE Transactions on Software Engineering, 20(11), pp. 831-843.
2. Clocksin, William F., and Mellish, Christopher S. (1984). Programming in Prolog. 4th Edition.
Springer-Verlag.
Resurse electronice:
1. TechTarget.com. Object-oriented programming (OOP). SearchAppArchitecture. [Citat 06.02.2024]. Disponibil: https://www.techtarget.com/searchapparchitecture/definition/objectoriented-programming-OOP
2. Spiceworks. Object-oriented programming. [Citat 07.02.2024]. Disponibil: https://www.spiceworks.com/tech/devops/articles/object-oriented-programming/:
3. Virtusa. Logic programming. Digital Themes. [Citat 04.02.2024]. Disponibil:
https://www.virtusa.com/digital-themes/logic-programming
4. GeeksforGeeks. Difference between functional and logical programming. [Citat 04.02.2024].
Disponibil:https://www.geeksforgeeks.org/difference-between-functional-and-logical-programming/
5. AllAssignmentHelp. Logic programming: What are its techniques? [Citat 05.02.2024].
Disponibil: https://www.allassignmenthelp.com/blog/logic-programming-what-are-its-techniques/:
Preview document
Conținut arhivă zip
- Analiza descriptiva si comparata a domeniilor de programare ORIE.docx