Table of Contents
Fins ara hem dissenyat els nostres programes a partir de funcions o blocs d'instruccions que manipulen dades. D'això se'n diu programació orientada a procediments. Hi ha una altra manera d'organitzar els programes que combina dades i funcionalitat agrupades en objectes, i que es coneix com a paradigma de programació orientada a objecte. Normalment es pot fer servir programació procedural, però, quan es tracta de desenvolupar programes grans o la solució es més adequada, es poden fer servir les tècniques de programació orientada a objecte.
Les classes i els objectes són dos dels principals aspectes de la
programació orientada a objecte.
Una classe crea un nou
tipus, mentre que un
objecte és una instància
de la classe.
Per exemple, les variables de tipus int
són
instàncies (objectes) de la classe int
.
Notem que fins i tot els enters són tractats com a objectes (de la classe
int
), a diferència de C++ i Java (abans de la versió
1.5) on els enters són tipus primitius. Podem trobar més detalls de la classe
amb help(int)
.
Els programadors de C# i Java 1.5 estaran familiaritzats amb aquest concepte ja que és similar al concepte d'empaquetat i desempaquetat (boxing i unboxing).
Els objectes emmagatzemen dades fent servir variables que pertanyen a l'objecte. Anomenem camps a les variables que pertanyen a un objecte o classe. Els objectes també tenen funcionalitat a partir de funcions que pertanyen a la classe. Aquestes funcions s'anomenen mètodes de la classe. Aquesta terminologia és important, ja que ens ajuda a distingir entre classes i objectes. Col·lectivament, els camps i els mètodes es coneixen com a atributs de la classe.
Els camps poden ser de dos tipus: aquells que pertanyen a cada instància o objecte de la classe, i aquells que pertanyen a la pròpia classe. Els primers es coneixen com a variables d'instància i els segons com variables de classe.
Les classes es creen amb la paraula reservada class
.
Els camps i mètodes de la classe es llisten a un bloc indentat.