Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porRubén Domingo Modificado hace 10 años
1
Herencia en POO Eliseo Melgarejo http://www.udec.cl/~eliseomelgarejo Desarrollo de sistemas Udec
2
HERENCIA La herencia permite crear nuevas clases partiendo de clases existentes, que tendrá todas los atributos y los métodos de su 'superclase' o 'clase padre' y además se le podrán añadir otros atributos y métodos propios.
3
Superclase o clase padre Clase de la que desciende o deriva una clase. Las clases hijas (descendientes) heredan (incorporan) automáticamente los atributos y métodos de la la clase padre.
4
Subclase o clase hija Clase de la que desciende o deriva una clase. Las clases hijas (descendientes) heredan (incorporan) automáticamente los atributos y métodos de la la clase padre.
5
Ejemplos Veamos algunos ejemplos teóricos de herencia: 1) Imaginemos la clase Vehículo. Qué clases podrían derivar de ella? Colectivo Moto Auto FordK Renault 9 2) Imaginemos la clase Software. ¿Qué clases podrían derivar de ella? Software ProcesadorTexto PlanillaDeCalculo SistemaOperativo Word Excel Linux Windows
6
++ Cuando la relación entre dos clases es del tipo "...tiene un..." o "...es parte de...", NO debemos implementar herencia. Estamos frente a una relación de colaboración de clases no de herencia.
7
++ Luego si vemos que dos clase responden a la pregunta ClaseA "..es un.." ClaseB es posible que haya una relación de herencia. Por ejemplo: Auto "es un" Vehiculo Circulo "es una" Figura Mouse "es un" DispositivoEntrada Suma "es una" Operacion
8
Ejercicio OPERACION SUMARESTA
9
Funciones especiales clasepadre::__construct($v1,$v2); Llama a constructor de clase padre desde clase hija parent::metodorepetido(); Llama a método de clase padre desde clase hija con el mismo nombre Abstract classes
10
Una clase abstracta tiene por objetivo agrupar atributos y métodos que luego serán heredados por otras subclases. Ej: planteamos tres clases: Operacion, Suma y Resta. Vimos que no tenía sentido definir objetos de la clase Operacion (clase abstracta) y si definimos objetos de las clases Suma y Resta (clases concretas) Definir las clases abstractas producirá un error en tiempo de ejecución.
11
Abstract methods Si queremos que las subclases implementen comportamientos obligatoriamente podemos definir métodos abstractos.Un método abstracto se declara en una clase pero no se lo implementa. ej: public abstract function operar(); No definir los metodos abstractos producirá un error en tiempo de ejecución.
12
final Modicador el cual permite que si lo agregamos a un método significa que ninguna subclase puede sobreescribirlo. También es posible aplicar a una clase, con esto estaríamos indicando que dicha clase no se puede heredar.
13
final class Operacion { … public final function imprimirResultado().. Luego si una subclase intenta redefinir dicho método: class Suma extends Operacion {... public function imprimirResultado().. } ERROR!!!!!!
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.