A Byte of Python

Chapter 11. Programació orientada a objectes

Table of Contents

Introducció
El paràmetre self
Classes
Creació d'una classe
Mètodes dels objectes
Ús de mètodes
El mètode __init__
Ús del mètode __init__
Classes i variables d'objecte
Ús de variables de classe i objecte
Herència
Ús de l'herència
Resum

Introducció

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.

Nota pels programadors de C/C++/Java/C#

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.