Programación Orientada a Objetos

Anuncio
Programación Orientada a Objetos
PROGRAMACIÓN ORIENTADA A OBJETOS
Sesión No. 4
Nombre: Herencia
Contextualización
Cuando hablamos de informática podemos contemplar varios elementos que se
utilizan dentro de esta misma, por ejemplo, la herencia ayuda a disminuir los
tiempos de producción de cualquier elemento y mantiene la relación de entre las
versiones que se va desarrollando de cualquier software; esto es una ventaja, ya
que permite la reutilización de códigos y la mejora de los mismos a lo largo del
desarrollo de las nuevas actualizaciones o desarrollo de aplicaciones.
Con los elementos de herencia se pueden determinar nuevas formas de
desarrollar funciones o aplicaciones y de depurar sistemas y poder pasarlos a
nuevas plataformas utilizando lo mejor de la codificación sin tener que transcribir
todo el script.
Cuando la herencia se logra exitosamente se puede trabajar de una manera más
simple y alcanza el objetivo de desarrollo mucho más rápido que iniciando una
aplicación desde la idea inicial.
Debemos comprender los elementos que funcionan dentro de la herencia y
adaptarlos a las necesidades de los usuarios que buscan soluciones.
1
PROGRAMACIÓN ORIENTADA A OBJETOS
Introducción al Tema
La herencia y el polimorfismo son elementos importantes que debemos analizar
antes de desarrollar una idea y aplicarla. Con estos elementos podemos
contemplar dentro de una aplicación un mejor resultado final.
Siempre que desarrollamos nuevas aplicaciones o trabajamos sobre un nuevo
elemento es importante definir los conceptos que son parte del medio,
comprender los tecnicismos con que trabajamos y la manera de tener una mejor
solución a lo que buscamos.
Recordemos que no todos los elementos dentro de un sistema o aplicación son
los mismos, estas diferencias se marcan por los lenguajes de programación que
utilizamos y los medios en que buscamos sean utilizados.
Cada paradigma de programación tiene sus ventajas y desventajas, por lo que
siempre debemos tener presente estos elementos y relacionarlos de la mejor
manera para así obtener mejores resultados, en el caso del uso de la herencia
podemos utilizar ésta para desarrollar nuevas aplicaciones pero no siempre
serán compatibles con todos los dispositivos, si lo que buscamos es el uso de
multiplataforma debemos tener presentes lenguajes de programación basados
en el uso de consolas virtuales y sistemas con mayor utilidad dentro de los
ambientes Web, ya que éstos tienen actualizaciones de compatibilidad y parches
para solucionar errores de manera constante.
2
PROGRAMACIÓN ORIENTADA A OBJETOS
Explicación
Herencia
¿Qué es la herencia?
Es una propiedad dentro de la programación orientada a objetos en la cual se
comprende que una clase llamada “padre” comparte atributos y métodos propios
con las clases llamadas “hijas” o subclases.
Esta propiedad permite la creación de objetos a partir de otros existentes,
obteniendo de esta manera características similares a los demás. Este
mecanismo permite crear clases derivadas de una clase base, también deja que
se compartan automáticamente métodos y datos entre clases, subclases y
objetos.
El método de la herencia puede ser aplicado en cualquier lenguaje de
programación, éste no depende de un código en específico ya que los sistemas
de desarrollo utilizan clases y subclases con las cuales definen la importancia de
las funciones y los componentes en un sistema o script.
Este mecanismo es utilizado en la programación orientada a objetos, es
importante ya que permite de cierta forma la reutilización de un código y el
trabajo de las subclases de manera más eficiente por tratar con los elementos
principales de las clases.
En este mecanismo de trabajo podemos comprender dos tipos de herencia, las
cuales son importantes de diferenciar para aplicar los elementos de una manera
conveniente, estos son:
•
Herencia múltiple: hace referencia a una característica de los lenguajes
de programación orientada a objetos, dentro de una clase se puede
heredar el comportamiento y características de más de una clase.
•
Herencia simple: ésta sólo puede heredar de una sola superclase.
3
PROGRAMACIÓN ORIENTADA A OBJETOS
Este método comúnmente es utilizado para poder implementar el polimorfismo,
se hace de esta manera debido a que en muchos lenguajes de programación
orientados a objetos la herencia es la única forma de implementar el
polimorfismo, el método funciona de la siguiente manera:
•
Una clase puede heredar tantos atributos como las operaciones de una
clase madre o superclase, esto implica que una nueva clase sea similar a
otra en más de un aspecto, esto no necesita re-implementar todos los
métodos de la segunda clase, ya que se puede heredar cualquier método
y sobre escribir los que son diferentes.
Cuando se realiza el proceso de herencia tenemos que;
•
Al extender una clase:
o Se heredan todas las operaciones del padre.
o Se pueden añadir nuevas operaciones.
•
La nueva clase puede elegir las operaciones heredadas:
o Redefinir la operación.
o La nueva operación puede usar la del padre y hacer más cosas.
o Puede ser diferente.
o La herencia puede ser aplicada múltiples veces.
o Da lugar a una jerarquía de clases.
Polimorfismo
¿Qué es el polimorfismo?
Ésta es una propiedad de un operador o función que actúa de modo diferente en
función del objeto sobre el cual se aplica. Ésta funciona en una operación con el
mismo nombre en diferentes clases. Ésta es sólo interpretada por el objeto al
que pertenece.
4
PROGRAMACIÓN ORIENTADA A OBJETOS
Éste tiene la posibilidad de definir múltiples clases con funcionalidad diferente,
con el uso de métodos o propiedades denominados de forma idéntica. Puede
utilizarse de manera intercambiable por medio del código cliente en tiempo de
ejecución.
Al trabajar con el polimorfismo dentro de la programación orientada a objetos
podemos considerar dos cosas importantes:
•
Se puede trabajar con un objeto de una clase sin importar de cual se trate,
ya que permite que el trabajo sea igual sin importar la clase a la que
pertenece el objeto. Esto se consigue mediante jerarquías de clase y
clases abstractas.
•
Posibilita la declaración de métodos con el mismo nombre que puede
tener argumentos distintos dentro de una misma clase.
El comportamiento del polimorfismo se comprende o aprecia cuando se invoca el
método de un objeto de la clase derivada mediante un puntero a un objeto de la
clase base, ésta trata al objeto como si fuera de la clase base.
Existe la posibilidad que dentro de los elementos de programación se tenga un
método de una clase derivada y se llame como el método de la clase base, sólo
que éste presentará un funcionamiento diferente.
El polimorfismo es comúnmente utilizado dentro de los lenguajes Java y C++,
esto por las facilidades que presenta en la codificación de los elementos
presentados en la mayoría de los casos de desarrollo.
5
PROGRAMACIÓN ORIENTADA A OBJETOS
Conclusión
Los elementos como el polimorfismo y la herencia son importantes en el
desarrollo y definición de la programación, éstos ayudan a tener un mejor control
sobre los elementos que se crean y de igual manera un trabajo más rápido y
seguro.
Cuando los elementos de las clases y métodos no son bien definidos desde el
inicio, es decir, que presenten errores o fallas, al heredar los elementos de la
clase o el objeto sólo se estarán copiando por duplicado los errores y las fallas
de los sistemas que se han desarrollado; muchas veces esto sucede en la
creación de nuevas aplicaciones, por lo que siempre se realizan actualizaciones
de sistema que ayuden a tener un mejor control de los procesos y mejorar la
estabilidad.
Todos los lenguajes de programación comprenden de métodos de herencia y
polimorfismo, ya que así se ahorra código y tiempo, ofreciendo a los usuarios
actualizaciones constantes y mejoras más robustas.
6
PROGRAMACIÓN ORIENTADA A OBJETOS
Para aprender más
Herencia
¿Qué hereda y qué no?
Dentro de la herencia existen elementos que pueden utilizar los atributos de
herencia y otros que no lo pueden hacer, es importante conocer cuáles sí lo
logran para poder determinar relaciones de trabajo de una mejor manera y
comprender el funcionamiento de los métodos.
•
Una subclase hereda todo los miembros de una clase excepto los
constructores.
•
Una subclase no puede acceder a los miembros privados de su
superclase.
•
Una subclase puede heredar a otras clases.
De forma general podemos comprender que la herencia se permite entre clases
y objetos respectivamente. Algunas de las ventajas que presenta este método
son:
•
Ayuda a los programadores a ahorrar tiempo.
•
Permite el ahorro de código.
•
Permite la construcción de objetos en base a otros.
•
Puede heredar código y datos de una clase.
•
Puede heredar propiedades de otra clase que se heredan y crean clases
base.
Polimorfismo
El polimorfismo es un elemento que se utiliza en los lenguajes de programación
orientados a objetos, el cual presenta características y atributos específicos,
algunos elementos que comprende son:
7
PROGRAMACIÓN ORIENTADA A OBJETOS
•
Capacidad que tienen los objetos de una clase de responder al mismo
mensaje o evento en función de los parámetros utilizados.
•
Un elemento poli fórmico es una entidad que puede contener valores de
diferentes tipos durante la ejecución del programa.
•
El polimorfismo existe gracias a la herencia.
8
PROGRAMACIÓN ORIENTADA A OBJETOS
Actividad de Aprendizaje
Instrucciones
Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta
sesión, ahora tendrás que realizar una actividad en la cual a través de un mapa
conceptual indiques ejemplos de herencia, pueden ser relacionados con la vida
cotidiana o la informática, recuerda que la herencia utilizada en la programación
dirigida a objetos toma elementos de la vida real.
Puedes realizarlo en cualquier programa, al final tendrás que guardarlo como un
documento de texto con la finalidad de subirlo a la plataforma de la asignatura.
9
PROGRAMACIÓN ORIENTADA A OBJETOS
Bibliografía
•
Cisneros E. (2009) Fundamentos de la programación orientada a objetos.
Consultado
en:
http://aldeafraypedrodeagreda.files.wordpress.com/2009/12/desarrollo_sof
tware_poo_3_parte.pdf
•
Damian.
(s.f.)
Herencia
POO.
Consultado
en:
http://damian02.wordpress.com/herencia-poo-2/
•
Marina J. (s.f.) Programación orientada a objetos. Consultado en:
http://www.jlmarina.net/metodos2/MET2_07_20-Polimorfismo_I.pdf
•
Pinelo D.(2009) Programación orientada a objetos. Consultado en:
http://www.pinelo.com/blog/postimgs/2009/03/24/POO.pdf
•
s/a. (s.f.) Herencia. Consultado en: http://poolhjc.wordpress.com/herencia/
•
Vanesa.
(2011)
Herencia
y
polimorfismo.
Consultado
http://vaneorientado.blogspot.mx/2011/07/proyecto-herencia-ypolimorfismo.html
en:
10
Descargar