Există și alte diferențe care pot fi explicate cu ajutorul graficului de comparație.
Diagramă de comparație
Bazele Pentru comparație | POP | OOP |
---|---|---|
De bază | Procedură / Structură orientată. | Obiect orientat. |
Abordare | De sus în jos. | De jos în sus. |
Bază | Accentul principal este pus pe "cum să realizăm sarcina", adică pe procedura sau structura unui program. | Accentul principal este pus pe "securitatea datelor". Prin urmare, numai obiectele au acces la entitățile unei clase. |
diviziune | Programul mare este împărțit în unități numite funcții. | Întregul program este împărțit în obiecte. |
Modul de accesare a entității | Nu s-a observat specificatorul de acces. | Specificatorul de acces este "public", "privat", "protejat". |
Supraîncărcarea / Polimorfismul | Nici funcțiile de supraîncărcare, nici operatorii. | Acesta suprasolicite funcțiile, constructorii și operatorii. |
Moştenire | Nu este o moștenire. | Moștenirea obținută în trei moduri publice private și protejate. |
Protejarea și securitatea datelor | Nu există o modalitate adecvată de a ascunde datele, deci datele sunt nesigure | Datele sunt ascunse în trei moduri publice, private și protejate. prin urmare, securitatea datelor crește. |
Schimbul de date | Datele globale sunt împărțite între funcțiile din program. | Datele sunt împărțite între obiecte prin intermediul funcțiilor membrilor. |
Funcții / clase ale prietenilor | Niciun concept de funcție prietenă. | Clasele sau funcția poate deveni un prieten al unei alte clase cu cuvântul cheie "prieten". Notă: cuvântul cheie "prieten" este utilizat numai în c ++ |
Clase virtuale / funcții | Niciun concept de clase virtuale. | Concepția funcției virtuale apare în timpul moștenirii. |
Exemplu | C, VB, FORTRAN, Pascal | C ++, JAVA, VB.NET, C # .NET. |
Definiția programării orientate pe obiecte (OOP)
Principala preocupare a OOP este de a ascunde datele de la funcțiile non-membre ale unei clase, pe care le tratează ca "informații critice". Datele sunt strâns legate de funcțiile membre ale unei clase, care operează pe ea. Nu permite niciunei funcții care nu este membră să modifice datele din interiorul acesteia. Obiectele comunică între ele prin intermediul funcțiilor membrilor pentru a accesa datele lor.
OOP este dezvoltat pe conceptul de bază al "obiectului", "clasei", "încapsularea sau abstractizarea datelor", "moștenirea" și "polimorfismul / supraîncărcarea". În PLO, programele pot fi împărțite în module prin împărțirea datelor și a funcțiilor, care pot fi utilizate în continuare ca șabloane pentru crearea de copii noi ale modulelor, dacă este necesar.
Definiția programării orientate pe procedură (POP)
POP-ul este un mod convențional de programare. Procedura de programare este locul în care accentul principal se pune pe obținerea sarcinii într-o ordine succesivă. Schema de diagramă organizează fluxul de control al programului. Dacă programul este mare, este structurat în unele unități mici numite funcții, care împărtășesc date globale. Aici se pune problema securității datelor, deoarece există o schimbare neintenționată a programului prin funcții.
Diferențe cheie între OOP și POP
- POP este o programare orientată spre procedură, în timp ce OOP este o programare orientată obiect.
- Principalul punct de interes al POP-ului este "modul de realizare a sarcinii", urmând diagrama fluxului pentru a obține sarcina. Obiectivul principal al OOP este siguranța datelor deoarece numai obiectele unei clase au acces la atributele sau funcțiile unei clase.
- Funcțiile sunt mici unități ale programelor mari care se execută pentru a obține sarcina principală. În funcțiile OOP atributele și funcțiile clasei sunt împărțite între obiecte.
- În POP, nu există un mod specific de accesare a accesului la atribute sau funcții în program, în timp ce în POR există trei moduri de acces "public", "privat", "protejat", care sunt folosite ca accesare pentru a accesa atributele sau funcțiile .
- POP nu acceptă conceptul de supraîncărcare / polimorfism. OOP suporta supraîncărcarea / polimorfismul, ceea ce înseamnă utilizarea aceluiași nume de funcție pentru efectuarea diferitelor funcții. Putem supraîncărca funcțiile, constructorul și operatorii din OOP.
- Nu există niciun concept de moștenire în POP, în timp ce OOP susține moștenirea care permite folosirea atributului și funcțiilor unei alte clase prin moștenirea lui.
- POP-ul este mai puțin sigur în comparație cu OOP, deoarece în POO specificatorul de acces limitează accesul la atribute sau funcții care sporesc securitatea.
- În POP, dacă unele date vor fi partajate între toate funcțiile din program, se declară global în afara tuturor funcțiilor. În PLO, membrul de date al clasei poate fi accesat prin funcțiile membre ale clasei.
- În POP nu există niciun concept al funcției de prietenie, în timp ce în OOP există un concept de funcție prieten care nu este membru al clasei, ci pentru că este membru prieten poate accesa funcțiile membrului și membrilor clasei.
- Nu există niciun concept de clase virtuale în POP, în timp ce în PLO funcțiile virtuale susțin polimorfismul.
Concluzie
Defectele POP provoacă nevoia de POR. OOP corectează deficiențele POP prin introducerea noțiunii de "obiect" și "clase". Îmbunătățește securitatea datelor și inițializarea automată și clarificarea obiectelor. OOP permite crearea de instanțe multiple ale obiectului fără interferențe.