Programación Orientada a Objetos
Presentado a
FRANKLIN LIZCANO CELIS - Tutor virtual
Tutor(a)
Entregado por
Edgar Alberto Ruiz Mojica Código: 79684747
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CIENCIAS BÁSICAS, INGENIERÍAS Y TECNOLOGÍAS
Mayo
2020
INTRODUCCIÓN
Mediante este se pretende abarcar los conceptos y la aplicación de herencia
y polimorfismo como técnicas de programación orientada a objetos.
OBJETIVOS
Reconocer e implementar el concepto de herencia en el proyecto de software
según el diseño desarrollado en la fase 2 y las interfaces diseñadas en la fase
3.
Conceptos
-Herencia y Polimorfismo:
La herencia es específica de la programación orientada a objetos, donde una clase
nueva se crea a partir de una clase existente. La herencia (a la que habitualmente se
denomina subclase) proviene del hecho de que la subclase (la nueva clase creada)
contiene las atributos y métodos de la clase primaria. La principal ventaja de la herencia
es la capacidad para definir atributos y métodos nuevos para la subclase, que luego se
aplican a los atributos y métodos heredados.
El polimorfismo es una relajación del sistema de tipos, de tal manera que una referencia
a una clase (atributo, parámetro o declaración local o elemento de un vector) acepta
direcciones de objetos de dicha clase y de sus clases derivadas (hijas, nietas, …).
-Herencia Simple:
Herencia múltiple hace referencia a la característica de los lenguajes de programación
orientada a objetos en la que una clase puede heredar comportamientos y
características de más de una superclase. Esto contrasta con la herencia simple, donde
una clase sólo puede heredar de una superclase
-Herencia Múltiple:
Hace referencia a la característica de los lenguajes de programación orientada a
objetos en la que una clase puede heredar comportamientos y características de más
de una superclase. Esto contrasta con la herencia simple, donde una clase sólo puede
heredar de una superclase
-Herencia de Interfaz
Un uso no controvertido de la herencia múltiple es la herencia de interfaz. En C++,
toda herencia lo es de implementación, dado que todo en una clase base, interface e
implantación, pasa a formar parte de la clase derivada. No es posible heredar solo una
parte de una clase (es decir, la interface únicamente).
-Herencia de Implementación:
La clase padre es la que transmite su código a las clases hijas. En muchos lenguajes
de programación se declara la herencia con la palabra "extends". Eso quiere decir que
todo el código de la clase padre se transmite, tal cual, a la clase hija
-Polimorfismo y reutilización
En programación orientada a objetos, el polimorfismo se refiere a la propiedad por la
que es posible enviar mensajes sintácticamente iguales a objetos de tipos distintos. El
único requisito que deben cumplir los objetos que se utilizan de manera polimórfica es
saber responder al mensaje que se les envía.
La reutilización de código se refiere al comportamiento y a las técnicas que garantizan
que una parte o la totalidad de un programa informático existente se pueda emplear en
la construcción de otro programa. De esta forma se aprovecha el trabajo anterior, se
economiza tiempo, y se reduce la redundancia.
-Sobrecarga
Sobrecarga (Overloading, Polimorfismo ad-hoc) Un sólo nombre de método y muchas
implementaciones distintas. Las funciones sobrecargadas normalmente se distinguen
en tiempo de compilación por tener distintos parámetros de entrada y/o salida.
-Polimorfismo en jerarquías de herencia
La herencia se define como el mecanismo mediante el cual se utiliza la definición de
una clase llamada “padre”, para definir una nueva clase llamada “hija” que puede
heredar sus atributos y operaciones. ... La relación de herencia entre clases genera lo
que se llama jerarquía de clases
-Variables Polimórficas
Variable que se declara como de un tipo pero que referencia en realidad un valor de un
tipo distinto (normalmente relacionado mediante herencia).
Documento el modelo de herencia a aplicar en su proyecto. En este modelo
deben especificarse cada una de las clases según el modelo de clases de la
fase 2 y posteriormente implementar la herencia donde determine cuáles son
las clases padre que quedan y cuáles son las clases hijas que quedan junto
con los atributos a heredar.
persona
usuario Proveedor cliente
Ingresar()
Consultar
Segunda Clave;
producto
Consultar()
Insertar()
Stock()
Modificar()
CONCLUSIONES
1. Las clases nos sirven para estandarizar funciones que pueden ser utilizadas más en
muchos métodos y funcionalidades.
2. Evitar duplicidad y favorecer la reutilización de código (las subclases utilizan el
código de superclases).
3. Facilitar el mantenimiento de aplicaciones. Podemos cambiar las clases que
usamos fácilmente.
4. Facilitar la extensión de las aplicaciones. Podemos crear nuevas clases a partir de
otras existentes.
REFERENCIAS BIBLIOGRÁFICAS
Weitzenfeld, A. (2005). Programación y Lenguajes Orientados a Objetos. In Ingeniería de
Software Orientada a Objetos con UML, Java e Internet (pp. 25-28). Mexico City, Mexico:
Cengage Learning. Recuperado
de: http://bibliotecavirtual.unad.edu.co:2081/ps/i.do?p=GVRL&u=unad&id=GALE|
CX3004300018&v=2.1&it=r&sid=GVRL&asid=0d192802
Ceballos, S. F. J. (2010). Java 2: curso de programación (4a. ed.). Recuperado
de https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?
docID=3228856&query=herencia+en+java
Flórez, F. H. A. (2012). Programación orientada a objetos usando java (pp. 119). Recuperado
de https://bibliotecavirtual.unad.edu.co:2538/lib/unadsp/reader.action?
docID=3203026&query=programaci%C3%B3n+con+java
Pérez Menor, J. M., Carretero Pérez, J., García Carballeira, F., & Pérez Lobato, J. M. (2003). Herencia y
polimorfifismo. In Problemas resueltos de programación en lenguaje Java (pp. [283]-303). Madrid, Spain:
Paraninfo. Recuperado de: http://bibliotecavirtual.unad.edu.co:2081/ps/i.do?
p=GVRL&u=unad&id=GALE|CX2136500015&v=2.1&it=r&sid=GVRL&asid=f6553daa