class
Una
clase
es
una
colección
de
variables
y
de
funciones
que
acceden
a
esas
variables
.
Una
clase
se
define
con
la
siguiente
sintaxis
:
El
ejemplo
define
una
clase
llamada
Cart
que
consiste
en
un
array
asociativo
de
artículos
en
el
carro
y
dos
funciones
para
meter
y
sacar
ítems
del
carro
Las
clases
son
tipos
,
es
decir
,
son
plantillas
para
variables
.
Tienes
que
crear
una
variable
del
tipo
deseado
con
el
operador
new
.
Este
ejemplo
crea
un
objeto
$cart
de
clase
Cart
.
La
función
add_item(
)
de
ese
objeto
se
llama
para
añadir
un
item
del
artículo
número
10
al
carro
.
Las
Clases
pueden
ser
extensiones
de
otras
clases
.
Las
clases
extendidas
o
derivadas
tienen
todas
las
variables
y
funciones
de
la
clase
base
y
lo
que
les
añadas
al
extender
la
definición
.
La
herencia
múltiple
no
está
soportada
.
Ese
ejemplo
define
una
clase
Named_Cart
(
carro
con
nombre
o
dueño
)
que
tiene
todas
las
variables
y
funciones
de
Cart
,
y
además
añade
la
variable
$owner
y
una
función
adicional
set_owner(
)
.
Un
carro
con
nombre
se
crea
de
la
forma
habitual
y
,
una
vez
hecho
,
puedes
acceder
al
propietario
del
carro
.
En
los
carros
con
nombre
también
puedes
acceder
a
las
funciones
normales
del
carro
:
Entre
funciones
de
una
clase
,
la
variable
$this
hace
referencia
al
propio
objeto
.
Tienes
que
usar
$this
-
loquesea
para
acceder
a
una
variable
o
función
llamada
loquesea
del
objeto
actual
.
Los
constructores
son
funciones
de
una
clase
que
se
llaman
automáticamente
al
crear
una
nueva
instancia
(
objeto
)
de
una
clase
.
Una
función
se
convierte
en
constructor
cuando
tiene
el
mismo
nombre
que
la
clase
.
Este
ejemplo
define
una
clase
Auto_Cart
que
es
un
Cart
junto
con
un
constructor
que
inicializa
el
carro
con
un
item
del
tipo
de
artículo
"
10
"
cada
vez
que
se
crea
un
nuevo
Auto_Cart
con
"new
"
.
Los
constructores
también
pueden
recibir
parámetros
y
estos
parámetros
pueden
ser
opcionales
,
lo
que
los
hace
más
útiles
.
Atención
|
Para
las
clases
derivadas
,
el
constructor
de
la
clase
padre
no
es
llamado
automáticamente
cuando
se
llama
al
constructor
de
la
clase
derivada
.
|