Qual è il vantaggio della programmazione orientata agli oggetti sulla programmazione procedurale?
https://softwareengineering.stackexchange.com/questions/120019
-
03-11-2019 - |
Domanda
Sto cercando di capire la differenza tra linguaggi procedurali come C e linguaggi orientati agli oggetti come C ++. Non ho mai usato C ++, ma ho discusso con i miei amici su come differenziare i due.
Mi è stato detto che C ++ ha concetti orientati agli oggetti e modalità pubbliche e private per la definizione di variabili: le cose C non hanno. Non ho mai dovuto usarli per sviluppare programmi in Visual Basic.net: quali sono i vantaggi di questi?
Mi è stato anche detto che se una variabile è pubblica, è possibile accedere ovunque, ma non è chiaro come ciò sia diverso da una variabile globale in una lingua come C. Non è anche chiaro come una variabile privata differisca da una variabile locale.
Un'altra cosa che ho sentito è che, per motivi di sicurezza, se è necessario accedere a una funzione, dovrebbe essere ereditata per prima. Il caso d'uso è che un amministratore dovrebbe avere solo tutti i diritti di cui hanno bisogno e non tutto, ma sembra che anche un condizionale funzionerebbe:
if ( login == "admin") {
// invoke the function
}
Perché questo non è l'ideale?
Dato che sembra esserci un modo procedurale per fare tutto orientato agli oggetti, perché dovrei preoccuparmi della programmazione orientata agli oggetti?
Nessuna soluzione corretta