Sie sind auf Seite 1von 6

Elementos de Modelo de Objetos: Tarea N°5

Mauricio Fernando Rosas Muñoz


Programación Orientada a Objetos
Instituto IACC
21 de abril de 2019
1) Concepto de Modularidad: Un sistema robusto o complejo puede ser dividido en partes o piezas
más sencillas o simples conocidos como módulos, se le llama modular a un sistema que está
formado de módulos. El beneficio más importante de la modularidad es que nos deja la aplicación de
principio de ser dividirse de interés en dos etapas: en verse los detalles de cada módulo por parte o
separado ignorando detalles de los otros módulos, y al enfrentar las características globales de todos
los módulos y sus relaciones para integrarlos en un único sistema coherente. Si estas etapas son
ejecutadas en este orden se dice que el sistema está diseñado desde abajo hacia arriba (top down), y
en el orden inverso se dice que el sistema fue diseñado desde arriba hacia abajo.
El inicio de la modularidad consta de tres objetivos principales:

- La capacidad de descomponer un sistema complejo.


- La capacidad de componerlo a partir de módulos ya existentes.
- La comprensión del sistema en piezas o partes.

La posibilidad de descomponer un sistema es la de dividirlo en subproblema de forma Top Dawn es


decir desde arriba hacia abajo el problema original para luego aplicar el principio a cada
subproblema de manera recursiva. Este tipo de procedimiento refleja el conocido principio de divide
y vencerás ( Divide & Conquer).

La posibilidad de componer un sistema se basa en obtener el sistema final de manera bottom up por
medio de componentes elementales. Exactamente es la producción de software se necesitara querer
ensamblar nuevas aplicaciones tomando módulos de una biblioteca y relacionándolos para formar un
producto necesitado o requerido; estos módulos debieran ser diseñados con el objetivo expreso de ser
reutilizados.

El entender cada trozo de un sistema por partes separada ayuda a la modificalidad del sistema.
Debido a los avances continuos de un software existe muchas veces la instancia de volver atrás al
trabajo previo y así modificarlo. Si un sistema solo puede ser entendido como un todo los cambios
serán complejos de aplicar y el resultado será poco confiable. Cuando se ve la necesidad de reparar el
sistema, la modularización apropiada nos ayuda a restringir la búsqueda de donde está el error o
componentes separados.

Un método de diseño que debiera ser llamado modular, tendría que satisfacer tanto los objetivos
anteriores como también los dos siguientes:

a) Continuidad modular
b) Protección modular

Ahora de estos objetivos mencionados para asegurar la modularidad, se derivan cinco reglas:

a) Correspondencia directa
b) Pocas interfaces de módulos
c) Interfaces pequeñas ( acoplamiento débil)
d) Interfaces explicitas
e) Ocultar información
2) Concepto de Encapsulamiento: La base del encapsulamiento se encuentra en el ocultar el estado de
datos pertenecientes a un Objeto de forma tal de solo pueden ser modificados por medio de
operaciones que han sido predefinidas y especificada para el tratamiento de dicho objeto.
Cada uno de estos son un módulo aislado de factores externos de manera tal de que cada uno de estos
paquetes solamente actúa un conjunto con otros objetos, o bien por medio de la operación especifica
que permite su modificación, protegiéndose de las alteraciones por quienes no podrán acceder a los
mismos o simplemente prevenir que ocurran errores en su utilización. El encapsulamiento dentro de
un sistema permite entonces añadir variables y métodos dentro de una Clase, manteniendo una sola
entidad, por medio de un método de ocultamiento especifico, permitiendo que se conozca el
comportamiento de este paquete de datos pero no lo complejo de los mismos, evitando sus destalles
sean vistos por quienes no han sido autorizados y garantizando un correcto envió y recepción de
dicha información.
Para hacer un encapsulamiento será necesario entender dos funciones fundamentales:

a) La Interfaz: Permite establecer una imagen externa de una Clase especifica realizando un
aislamiento del comportamiento y tomando una abstracción común a la misma.
b) La Implementación: Una vez realizada la abstracción mencionada , se ejecuta una
representación y se le asignan los comportamientos que esperamos mediante el mecanismo
adecuado para su ejecución.

Podemos distinguir distinto tipos de Encapsulamiento:

- Estándar
- Abierto
- Protegido
- Semi-Abierto
- Cerrado

3) Concepto de Herencia: Este es uno de los cuatro pilares de la programación orientada a objetos,
junto con la abstracción, Encapsulación y Polimorfismo. Como todo al comienzo cuesta un poco
entender estos conceptos características del paradigma de POO porque estamos acostumbrados a
otros paradigmas de programación como el paradigma de la programación estructurada, pero se dice
que la complejidad esta en entender este nuevo paradigma y no en otra cosa.
Respecto a Herencia se han dicho muchas definiciones como por ejemplo la siguiente “La herencia
es un mecanismo que nos permite la definición de una clase a partir de la definición de otra ya
existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y
objetos”.

4) Concepto de Polimorfismo: Podemos decir que es la habilidad de un determinada función, método,


variable u objeto de poseer varias formas distintas. Podemos decir que un mismo identificador
comparte varios significados diferentes.
El propósito del Polimorfismo es implementar un estilo de programación llamado envió de
mensajes en que los objetos interactúan entre ellos mismos mediante estos mensajes, que no son más
que llamadas a distintas funciones.
Java tiene cuatro grandes formas de Polimorfismo ( aunque conceptualmente, muchas más):
- Polimorfismo de asignación
- Polimorfismo puro
- Sobrecarga
- Polimorfismo de inclusión.
De acuerdo a lo solicitado, se genera el siguiente Código.

// Programa de Empleados
import java.util.*;
// Asignamos el nombre de la Clase
public class Empleado
// Declaramos las variables de instancia
{
private String nombre;
private String apellido;
private double sueldo;
// Mensaje de presentación
{
System.out.println(" Mauricio Fernando Rosas Muñoz ");
System.out.println(" Tarea N°5 POO Java I ");
}
// Creamos el Constructor para iciar las variables de instancia
public Empleado (String nomb, String apell, Double suel)
// Agignamos valores de parametros de nuestras variables de instancia
{

nombre = nomb;
apellido = apell;
sueldo = suel;
}
public String devuelvenombre(Empleado empleado)
{
return empleado.nombre + " " + empleado.apellido;
}
public double devuelvesueldoSueldoLiquido(Empleado empleado)
{
return empleado.sueldo -(empleado.sueldo * 0.1);
}
}
En la imagen N° 1 , se muestra el proyecto de nombre Tarea N°5 Java I Semana 5

Imagen N°1
En la imagen N°2 se muestra la pantalla compilada

Imagen N° 2

Bibliografia:

Material de estudio e Internet

https://es.wikipedia.org/wiki/Modularidad_(inform%C3%A1tica)
https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=651:concepto-o-
definicion-de-herencia-en-java-programacion-orientada-a-objetos-ique-es-ejemplos-
cu00684b&catid=68&Itemid=188

http://profesores.elo.utfsm.cl/~agv/elo330/2s05/lectures/JAVA/Herencia_en_Java.html

https://jarroba.com/herencia-en-la-programacion-orientada-a-objetos-ejemplo-en-java/

Nota:

Disculpe Profesor por haberle enviado mi Tarea N°5, un par de horas más tarde.

Das könnte Ihnen auch gefallen