Diferența dintre programarea structurată și programarea orientată pe obiecte

Diferența dintre programarea structurată și programarea orientată pe obiecte
Diferența dintre programarea structurată și programarea orientată pe obiecte

Video: Diferența dintre programarea structurată și programarea orientată pe obiecte

Video: Diferența dintre programarea structurată și programarea orientată pe obiecte
Video: Dividendele. Ce sunt, cum se impoziteaza, cand le ridicam? 2024, Iulie
Anonim

Programare structurată vs programare orientată pe obiecte

Programarea orientată pe obiecte (OOP) și programarea structurată sunt două paradigme de programare. O paradigmă de programare este un stil fundamental de programare a computerelor. Paradigmele de programare diferă în modul în care este reprezentat fiecare element al programelor și în modul în care sunt definiți pașii pentru rezolvarea problemelor. După cum sugerează și numele, OOP se concentrează pe reprezentarea problemelor folosind obiecte din lumea reală și comportamentul acestora, în timp ce Programarea Structurată se ocupă de organizarea programului într-o structură logică.

Ce este programarea structurată?

Se presupune că anul nașterii programării structurate este 1970. Programarea structurată este considerată un subset al programării imperative. Un program structurat este alcătuit din structuri simple de flux de programe, care sunt organizate ierarhic. Ele sunt secvența, selecția și repetarea. Secvența este o ordine a afirmațiilor. Selecția înseamnă selectarea unei instrucțiuni dintr-un set de instrucțiuni pe baza stării curente a programului (de exemplu, utilizarea instrucțiunilor if) iar repetarea înseamnă executarea unei instrucțiuni până când se ajunge la o anumită stare (de exemplu, utilizarea instrucțiunilor for sau while). ALGOL, Pascal, Ada și PL/I sunt câteva dintre limbajele de programare structurate folosite astăzi.

Ce este programarea orientată pe obiecte?

În OOP, accentul se pune pe gândirea problemei de rezolvat în termeni de elemente din lumea reală și reprezentarea problemei în termeni de obiecte și comportamentul acestora. Clasele descriu reprezentările abstracte ale obiectelor din lumea reală. Clasele sunt ca niște planuri sau șabloane, care adună elemente similare sau lucruri care pot fi grupate împreună. Clasele au proprietăți numite atribute. Atributele sunt implementate ca variabile globale și de instanță. Metodele din clase reprezintă sau definesc comportamentul acestor clase. Metodele și atributele claselor sunt numite membri ai clasei. O instanță a unei clase se numește obiect. Prin urmare, un obiect este o structură de date care seamănă foarte mult cu un obiect din lumea reală.

Există câteva concepte OOP importante, cum ar fi abstractizarea datelor, încapsularea, polimorfismul, mesageria, modularitatea și moștenirea. În mod obișnuit, încapsularea se realizează prin privatizarea atributelor, creând în același timp metode publice care pot fi folosite pentru a accesa aceste atribute. Moștenirea permite utilizatorului să extindă clase (numite subclase) de la alte clase (numite super clase). Polimorfismul permite programatorului să înlocuiască un obiect dintr-o clasă în locul unui obiect din superclasa. De obicei, substantivele găsite în definiția problemei devin direct clase în program. Și, în mod similar, verbele devin metode. Unele dintre cele mai populare limbaje OOP sunt Java și C.

Care este diferența dintre programarea structurată și programarea orientată pe obiecte?

Diferența cheie dintre programarea structurată și POO este că obiectivul programării structurate este structurarea programului într-o ierarhie de subprograme, în timp ce obiectivul POO este defalcarea sarcinii de programare în obiecte, care încapsulează date si metode. OOP este considerată mai flexibilă decât programarea structurată, deoarece OOP separă un program într-o rețea de subsisteme, mai degrabă decât să structureze programul într-o ierarhie. Chiar dacă structurarea oferă o anumită claritate, o mică modificare a unui program structurat foarte mare poate provoca un efect de ondulare prin schimbarea mai multor subprograme.

Recomandat: