Diferencia entre revisiones de «Plantilla:PHP/Herencia»
De WikiEducator
(Página creada con «===Herencia=== *La herencia es un mecanismo por el cual puedo definir una clase con ciertas características (atributos, métodos) *Posteriormente puedo definir otra clase...») |
(→Herencia) |
||
Línea 1: | Línea 1: | ||
===Herencia=== | ===Herencia=== | ||
− | *La herencia es un mecanismo | + | *La herencia es un mecanismo de programación que me permite crear una jerarquía en los componentes software, que se pueden ir especializando |
− | *Posteriormente puedo definir otra clase a partir de la ya existente | + | Se puede definir una clase con ciertas características (atributos, métodos) |
+ | *Posteriormente puedo definir otra clase a partir de la ya existente, quedándo implícitamente los atributos y métodos como también parte de su estructura o composición | ||
*Es una característica muy natural (p.e Personas (médicos y bailarines) vehículos (Terrestres (coche, moto) Acuáticos (barco, lancha)) | *Es una característica muy natural (p.e Personas (médicos y bailarines) vehículos (Terrestres (coche, moto) Acuáticos (barco, lancha)) | ||
[[Archivo:Herencia.png]] | [[Archivo:Herencia.png]] | ||
Línea 7: | Línea 8: | ||
*Facilita la reusabilidad y adaptación | *Facilita la reusabilidad y adaptación | ||
*Vamos a platear un ejemplo | *Vamos a platear un ejemplo | ||
+ | Vamos a suponer que queremos hacer un programa de figuras geométricas. | ||
+ | Tenemos cuadrados, rectángulos y triángulos. | ||
+ | [Archivo:herencia.png] | ||
+ | Cómo vemos hay atributos comunes podríamos declara una clase común llamada Polígono con los elementos comunes y luego tres clases que deriven de '''''Poligono''''' | ||
+ | [Archivo:herencia2.png] | ||
+ | *La implementación de esta estructura podría quedar de la siguiente manera | ||
+ | <source lang=php> | ||
− | + | ||
+ | </source> | ||
+ | |||
+ | *Ahora vemos también un método común que es '''''calcularArea()''''' | ||
+ | *A pesar de que es común y la idea de la acción es igual, la implementación es diferente en cada caso | ||
+ | *Para estas situaciones está la posib | ||
===Métodos abstractos=== | ===Métodos abstractos=== |
Revisión de 12:01 2 dic 2016
Herencia
- La herencia es un mecanismo de programación que me permite crear una jerarquía en los componentes software, que se pueden ir especializando
Se puede definir una clase con ciertas características (atributos, métodos)
- Posteriormente puedo definir otra clase a partir de la ya existente, quedándo implícitamente los atributos y métodos como también parte de su estructura o composición
- Es una característica muy natural (p.e Personas (médicos y bailarines) vehículos (Terrestres (coche, moto) Acuáticos (barco, lancha))
- Es una forma de obtener características comunes por separado y luego especializar evitando redundancias
- Facilita la reusabilidad y adaptación
- Vamos a platear un ejemplo
Vamos a suponer que queremos hacer un programa de figuras geométricas. Tenemos cuadrados, rectángulos y triángulos. [Archivo:herencia.png] Cómo vemos hay atributos comunes podríamos declara una clase común llamada Polígono con los elementos comunes y luego tres clases que deriven de Poligono [Archivo:herencia2.png]
- La implementación de esta estructura podría quedar de la siguiente manera
- Ahora vemos también un método común que es calcularArea()
- A pesar de que es común y la idea de la acción es igual, la implementación es diferente en cada caso
- Para estas situaciones está la posib