Sie sind auf Seite 1von 4

Herencia

Herencia en la programacin orientada a objetos es la habilidad de extender una funcionalidad


existente definiendo una nueva clase que hereda funcionalidad de una clase existente. Lo cual
nos ahorrara mucho tiempo a los programadores.

Si contamos con una clase que se acerca a lo que necesitamos; no es necesario crear una clase
desde cero. Podemos aprovecharla y extenderla para crear nuestra nueva clase. Esta nueva
clase se llamara subclase y la clase que ya tenamos se llamara superclase.

La subclase heredara todos los atributos y los mtodos que fueron definidos en la clase padre.
Si necesitamos cambiar algn mtodo, se puede sobrescribir el comportamiento en nuestra
subclase; utilizando el mismo nombre y los mismos argumentos del mtodo que se encuentra
en la subclase. O bien si se requiere crear un nuevo mtodo lo podemos incluir en nuestra
subclase.

Una clase puede heredar atributos por dos superclases (clases padres). La herencia mltiple
puede ser usada para agrupar atributos y mtodos de distintas clases en una sola.

Ejemplo:

El Polimorfismo es uno de los 4 pilares de la programacin orientada a objetos (POO) junto con
la Abstraccin, Encapsulacin y Herencia. Para entender que es el polimorfismo es muy
importante que tengis bastante claro el concepto de la Herencia, por tanto recomendamos
que veis la entrada en la que hablamos de la Herencia: Herencia en Java, con ejemplos.

Para empezar con esta entrada, se ha de decir que el trmino "Polimorfismo" es una palabra
de origen griego que significa "muchasformas". Este termino se utiliza en la POO para
"referirse a la propiedad por la que es posible enviar mensajes sintcticamente iguales
a objetos de tipos distintos". Como esta definicin quizs sea algo difcil de entender, vamos a
explicarla con el ejemplo que pusimos en la entrada de la herencia en la que
queramos simular el comportamiento que tendran los diferentes integrantes de la seleccin
espaola de ftbol; tanto los Futbolistas como el cuerpo tcnico (Entrenadores, Masajistas,
etc). Para este ejemplo nos vamos a basar en el siguiente diagrama de clases:
Encapsulamiento en Java

Imaginemos que se crea una clase, una docena de programadores tienen acceso a dicha clase y
la utilizan a discrecin, posteriormente dicha clase comienza a comportarse de una manera
inesperada debido a que los valores que algunas variables han tomado no fueron anticipados y
todo comienza a desmoronarse. Para corregir el problema se crea una versin ms nueva de
dicha clase y listo.

Bueno, a esto le llamamos flexibilidad y capacidad de mantenimiento, ambas son


caractersticas y beneficios de la programacin Orientada a Objetos (OO) pero para que una
clase pueda cumplir dichas funciones los programadores debemos de hacer algo. Imaginemos
que creamos una clase con variables de instancia pblicas a las cuales podemos acceder sin
problemas desde fuera de la misma clase...
Paradigma Orientado a Objetos

El paradigma orientado a objetos (OO) define los programas en trminos de comunidades de


objetos. Los objetos con caractersticas comunes se agrupan en clases (un concepto similar al
de tipo abstracto de dato (TAD)). Los objetos son entidades que combinan un estado (es decir,
datos) y un comportamiento (esto es, procedimientos o mtodos). Estos objetos se comunican
entre ellos para realizar tareas. Es en este modo de ver un programa donde este paradigma
difiere del paradigma imperativo o estructurado, en los que los datos y los mtodos estn
separados y sin relacin. El paradigma OO surge para solventar los problemas que planteaban
otros paradigmas, como el imperativo, con el objeto de elaborar programas y mdulos ms
fciles de escribir, mantener y reutilizar. Entre los lenguajes que soportan el paradigma OO
estn Smalltalk, C++, Delphi (Object Pascal), Java y C#.

elementos de P.O.O
ELEMENTOS

Objetos: atributos + mtodos

Mtodos: operaciones sobre los objetos

Clases: categoras de objetos con propiedades y operaciones comunes

Jerarquas de clases

En algunos lenguajes las clases son objetos, en otros no

Relaciones, objetos compuestos[4]


EJEMPLO DE OBJETO
Todo objeto del mundo real tiene 2 componentes: caractersticas y comportamiento.
Por ejemplo, los automviles tienen caractersticas (marca, modelo, color, velocidad mxima,
etc.) y comportamiento (frenar, acelerar, retroceder, llenar combustible, cambiar llantas, etc.).
Los Objetos de Software, al igual que los objetos del mundo real, tambin tienen
caractersticas y comportamientos. Un objeto de software mantiene sus caractersticas en una
o ms "variables", e implementa su comportamiento con "mtodos". Un mtodo es una
funcin o subrutina asociada a un objeto.
Para redondear estas ideas, imaginemos que tenemos estacionado en nuestra cochera un Ford
Focus color azul que corre hasta 260 km/h. Si pasamos ese objeto del mundo real al mundo del
software, tendremos un objeto Automvil con sus caractersticas predeterminadas:
Marca = Ford
Modelo = Focus
Color = Azul
Velocidad Mxima = 260 km/h
Cuando a las caractersticas del objeto le ponemos valores decimos que el objeto tiene
estados. Las variables almacenan los estados de un objeto en un determinado momento.

Das könnte Ihnen auch gefallen