object oriented programming c
Introducció a la programació orientada a objectes en C ++.
Amb aquest tutorial, iniciem una sèrie de tutorials per conèixer C ++ com a llenguatge de programació orientat a objectes.
Com sabem, abans de la programació orientada a objectes (OOP), els programes s’escrivien amb llenguatges de procediment. Funcions d'estrès dels llenguatges procedimentals. Els problemes més grans es divideixen en subproblemes més petits i s’escriuen com a funcions.
=> Vegeu aquí per explorar la llista completa de tutorials de C ++.
Els llenguatges procedimentals no prestaven atenció a les dades. Com a resultat, la possibilitat de no abordar el problema d’una manera efectiva era elevada. A més, com que les dades eren gairebé descuidades, la seguretat de les dades es comprometia fàcilment.
Tots aquests inconvenients de la programació procedimental van ser superats per la programació orientada a objectes.
En aquest tutorial, analitzarem els fonaments de la programació orientada a objectes i, en definitiva, totes les funcions de l'OOP.
Què aprendreu:
- Programació orientada a objectes en C ++
- Per què C ++ és un POO parcial?
- Funcions OOP
- Avantatges de l'OOP
- Conclusió
- Lectura recomanada
Programació orientada a objectes en C ++
La programació orientada a objectes gira al voltant de les dades. La principal unitat de programació de l'OOP és l'objecte. Un objecte és una representació d'una entitat en temps real i consisteix en dades i mètodes o funcions que operen sobre les dades. D’aquesta manera, les dades i les funcions estan estretament lligades i s’assegura la seguretat de les dades.
A POO, tot es representa com un objecte i quan s’executen els programes, els objectes interactuen entre si passant missatges. Un objecte no necessita conèixer els detalls d’implementació d’un altre objecte per comunicar-se.
A part dels objectes, l'OOP admet diverses funcions que s'enumeren a continuació:
- Classes
- Encapsulació
- Abstracció
- Herència
- Polimorfisme
Mitjançant OOP, escrivim programes amb classes i objectes mitjançant les funcions anteriors. Es diu que un llenguatge de programació és un veritable llenguatge de programació orientat a objectes si tot el que representa utilitza un objecte. Smalltalk és un llenguatge que és un llenguatge de programació pur orientat a objectes.
D'altra banda, es diu que els llenguatges de programació com C ++ i Java són llenguatges de programació parcials orientats a objectes.
Per què C ++ és un POO parcial?
El llenguatge C ++ es va dissenyar amb la intenció principal d’utilitzar funcions orientades a objectes per al llenguatge C.
Tot i que el llenguatge C ++ admet les funcions de POO com Classes, objectes, herència, encapsulació, abstracció i polimorfisme, hi ha poques raons per les quals C ++ es classifiqui com a llenguatge de programació parcial orientat a objectes.
millor sistema de punt de venda per a iPad
A continuació, presentem algunes d'aquestes raons:
# 1) La creació de classe / objectes és opcional
A C ++, la funció principal és obligatòria i sempre està fora de la classe. Per tant, només podem tenir una funció principal al programa i podem prescindir de classes i objectes.
Aquesta és la primera violació del llenguatge POP pur, on tot es representa com un objecte.
# 2) Ús de variables globals
C ++ té un concepte de variables globals que es declaren fora del programa i poden accedir-hi qualsevol altra entitat del programa. Això infringeix l'encapsulació. Tot i que C ++ admet l’encapsulació respecte a classes i objectes, no se’n fa càrrec en cas de variables globals.
# 3) Presència d'una funció d'amic
C ++ admet una classe o funció friend que es pot utilitzar per accedir a membres privats i protegits d'altres classes fent-los amics. Aquesta és una altra característica de C ++ que incompleix el paradigma de POO.
En conclusió, tot i que C ++ admet totes les funcions OOP esmentades anteriorment, també proporciona funcions que poden actuar com a solució per a aquestes funcions, de manera que podem prescindir-ne. Això fa que C ++ sigui un llenguatge de programació parcial orientat a objectes.
Funcions OOP
Aquí introduirem diverses funcions OOP que s’utilitzen per a la programació.
Classes i objectes
Un objecte és una unitat bàsica de programació orientada a objectes. Un objecte conté dades i mètodes o funcions que operen sobre aquestes dades. Els objectes ocupen espai a la memòria.
Una classe, en canvi, és un pla de l'objecte. Per contra, un objecte es pot definir com una instància d'una classe. Una classe conté un esquelet de l'objecte i no ocupa cap espai a la memòria.
Prenem un Exemple d’un objecte de cotxe. Un objecte de cotxe anomenat 'Maruti' pot tenir dades com ara el color; marca, model, límit de velocitat, etc. i funcions com accelerar. Definim un altre objecte 'gual'. Això pot tenir dades i funcions similars a les de l'objecte anterior i algunes addicions més.
De la mateixa manera, podem tenir nombrosos objectes de noms diferents amb dades i funcions similars i algunes variacions menors.
Així, en lloc de definir aquestes dades i funcions similars en aquests diferents objectes, definim un pla d’aquests objectes que és una classe anomenada Car. Cadascun dels objectes anteriors seran exemples d’aquest cotxe de classe.
Abstracció
L’abstracció és el procés d’ocultar informació irrellevant de l’usuari. Per exemple , quan conduïm el cotxe, primer engegem el motor introduint una clau. No som conscients del procés que segueix en segon pla per engegar el motor.
Mitjançant l’abstracció en la programació, podem amagar a l’usuari detalls innecessaris. En utilitzar l’abstracció a la nostra aplicació, l’usuari final no es veu afectat encara que canviem la implementació interna.
Encapsulació
L’encapsulació és el procés mitjançant el qual les dades i els mètodes o funcions que hi operen s’agrupen. En fer-ho, les dades no són fàcilment accessibles al món exterior. A OOP aconseguim l’encapsulació convertint els membres de dades en privats i tenint funcions públiques per accedir a aquests membres de dades.
Herència
L’ús d’objectes d’herència d’una classe pot heretar o adquirir les propietats de l’objecte d’una altra classe. L'herència proporciona la reutilització del codi.
Com a tal, podem dissenyar una nova classe adquirint les propietats i la funcionalitat d’una altra classe i, en aquest procés, no hem de modificar la funcionalitat de la classe pare. Només afegim noves funcionalitats a la classe.
Polimorfisme
El polimorfisme significa moltes formes.
El polimorfisme és una característica important de l'OOP i generalment s'implementa com a sobrecàrrega de l'operador o sobrecàrrega de funcions. La sobrecàrrega de l'operador és un procés en què un operador es comporta de manera diferent en diferents situacions. De la mateixa manera, en la sobrecàrrega de funcions, la mateixa funció es comporta de manera diferent en situacions diferents.
Enquadernació dinàmica
OOP admet l'enllaç dinàmic en què es resol la trucada de funció en temps d'execució. Això significa que el codi a executar com a resultat d'una trucada de funció es decideix en temps d'execució. Les funcions virtuals són un exemple d’enllaç dinàmic.
Missatge que passa
A POO, els objectes es comuniquen entre ells mitjançant missatges. Quan els objectes es comuniquen, la informació es transmet entre els objectes. Un missatge generalment consisteix en el nom de l'objecte, el nom del mètode i les dades reals que s'han d'enviar a un altre objecte.
Avantatges de l'OOP
Parlem d'alguns dels avantatges de l'OOP.
# 1) Reutilització
OOP permet reutilitzar el codi existent mitjançant l'herència. Podem adquirir fàcilment la funcionalitat existent i millorar-la sense haver de tornar a escriure el codi. Això provoca un codi menys inflat.
# 2) Modularitat
A mesura que modularem el programa a POO, és fàcil modificar-lo o solucionar-lo si es produeix un problema o si s’afegeix una nova funció o millora. La modularització també ajuda a la claredat del codi i la fa més llegible.
# 3) Flexibilitat
OOP ens ajuda amb una programació flexible mitjançant la funció de polimorfisme. Com que el polimorfisme adopta moltes formes, podem tenir operadors o funcions que funcionaran amb molts objectes i, per tant, ens estalviaran d’escriure funcions diferents per a cada objecte.
el millor programari de còpia de seguretat gratuït per a Mac
# 4) Manteniment
Mantenir el codi és més fàcil, ja que és fàcil afegir noves classes, objectes, etc. sense grans reestructuracions ni canvis.
# 5) Ocultació de dades i informació
OOP ens ajuda a ocultar dades, de manera que es manté la informació segura de la filtració. Només s’exposen a l’usuari les dades necessàries per al bon funcionament del programa, ocultant detalls intrínsecs.
Conclusió
OOP és el paradigma de programació més important i flexible de la programació moderna. És especialment útil per modelar problemes del món real i, per tant, és molt popular.
En aquest tutorial hem comentat les diverses funcions de POO. En el futur parlarem detalladament de totes aquestes funcions.
El següent tema d'aquesta sèrie 'OOP amb C ++' se centrarà en classes i objectes en detall.
=> Feu clic aquí per obtenir la sèrie de formació Absolute C ++.
Lectura recomanada
- OOP Java: Introducció a la programació orientada a objectes a Java
- Tipus de dades C ++
- Top 10 de les eines de ciència de dades el 2021 per eliminar la programació
- Abstracció de dades en C ++
- Introducció a les estructures de dades en C ++
- Tutorial Unix Pipes: Pipes a la programació Unix
- QTP Tutorial # 8 - Obteniu informació sobre els modes de gravació QTP, l’espionatge d’objectes i els dipòsits d’objectes
- 70+ BEST Tutorials C ++ per aprendre programació C ++ GRATIS