Link Search Menu Expand Document

Introducció

La programació orientada a objectes (OOP, per les seues sigles en anglès) és un paradigma de programació.

Paradigma:

Teoria […] el nucli central de la qual […] suministra la base i el model per resoldre problemes i avançar en el coneixement.

Per la qual cosa podem definir la programació orientada a objecte com un mètode -provat i estudiat- el qual es basa en les interaccions d’objectes per resoldre les necessitats d’un sistema informàtic.

Un objecte és una estructura que conté dades i el codi que els maneja.

L’estructura dels objectes es defineix en les classes. En elles s’escriu el codi que defineix el comportament dels objectes i s’indiquen els membres que formaran part dels objectes d’aquesta classe. Entre els membres de una classe pot haver-hi:

  • Mètodes. Són els membres de la classe que contenen el codi de la mateixa. Un mètode és com una funció. Pot rebre paràmetres i retornar valors.
  • Atributs o propietats. Emmagatzemen informació sobre el estat de l’objecte al que pertanyen (i per tant, el seu valor pot ser diferent per a cadascun dels objectes de la mateixa classe).

A la creació de un objecte basat en una classe se li anomena instanciar una classe i a l’objecte obtingut també se li coneix com a instància d’aqueixa classe.

Els pilars fonamentals de la POO són:

  • Herència. És el procés de crear una classe a partir de una altra, heretant el seu comportament i característiques i podent redefinir-los.
  • Abstracció. Fa referència al fet que cada classe oculta en el seu interior les peculiaritats de la seua implementació, i presenta a l’exterior una sèrie de mètodes (interfície) el comportament dels quals està ben definit. Vist des de l’exterior, cada objecte és un ens abstracte que realitza un treball.
  • Polimorfisme. Un mateix mètode pot tenir comportaments diferents en funció de l’objecte amb que s’utilitze.
  • Encapsulació. En la POO s’ajunten en un mateix lloc les dades i el codi que els manipula.

Els avantatges més importants que aporta la programació orientada a objectes són:

  • Modularitat. La POO permet dividir els programes en parts o mòduls més xicotets, que són independents uns d’uns altres però poden comunicar-se entre ells.
  • Extensibilitat. Si es desitgen afegir noves característiques a una aplicació, la POO facilita aquesta tasca de dues formes: afegint nous mètodes al codi, o creant nous objectes que estenguen el comportament dels ja existents.
  • Manteniment. Els programes desenvolupats utilitzant POO són més senzills de mantenir, a causa de la modularitat abans comentada. També ajuda seguir certes convencions en escriure’ls , per exemple, escriure cada classe en un fitxer propi. No ha d’haver-hi dues classes en un mateix fitxer, ni un altre codi a part de el propi de la classe.