Está en la página 1de 17

Actividad Biblioteca

Andrés Felipe Pascagaza Mila

Universidad Minuto De Dios (UNIMINUTO)

Ingeniería de Sistemas

Programación Orientada a Objetos

Bogotá D.C

2020
Tabla de contenido
Herencia.................................................................................................................................................. 3
Polimorfismo ........................................................................................................................................... 3
Encapsulamiento ..................................................................................................................................... 4
Métodos.................................................................................................................................................. 5
Inicializadores:..................................................................................................................................... 5
Getters/ setters: .................................................................................................................................. 5
Visualizadores: .................................................................................................................................... 5
Operadores: ........................................................................................................................................ 5
Constructores: ..................................................................................................................................... 6
Destructores: ....................................................................................................................................... 6
Clase ....................................................................................................................................................... 6
Objeto ..................................................................................................................................................... 6
Atributos ................................................................................................................................................. 7
Modificadores De Acceso ........................................................................................................................ 7
Modificador De Acceso Privado ........................................................................................................... 8
Modificador De Acceso Protegido ........................................................................................................ 8
Modificador De Acceso Publico ............................................................................................................ 9
Simbología Diagrama Clases y Casos De Uso .......................................................................................... 10
Diagrama de clases ............................................................................................................................ 10
Diagrama De Casos De Uso .................................................................................................................... 14
Herencia

La herencia permite definir clases en función de otras clases que en el sistema ya existen, en

otras palabras, la subclase toma los atributos que ya existen en la clase padre, la ventaja de la

herencia es que posibilita redefinir el comportamiento de los métodos heredados y extender su

funcionalidad, en la práctica esto se representa con la palabra extends en la subclase y al final de

escribe la clase de la cual se va a tomar los atributos. Y los atributos tiene que estar definidos como

protected para que estos puedan ser utilizados por las demás clases.

Ejemplo:

Imagen tomada de: https://sebastian-gomez.com/herencia-y-polimorfismo/

Polimorfismo

El polimorfismo es una de los cuatro pilares de la programación orientada a objetos, que

consiste en la posibilidad de tener métodos con el mismo nombre en distintas clases, esto quiere
decir que los métodos así se llamen igual tienen funciones diferentes, el polimorfismo permite

enviar un mensaje a objetos de clases diferentes, estos recibirán el mismo mensaje, pero actuaran

de manera diferente

Ejemplo:

Imagen tomada de: https://www.monografias.com/docs115/diagrama-casos-uso-interaccion-

y-clases/diagrama-casos-uso-interaccion-y-clases4.shtml

Encapsulamiento

El encapsulamiento consiste en organizar los datos y métodos de un sistema, lo que ayuda a

que se permita el acceso a datos por cualquier otro medio. El encapsulamiento se usa uniendo en

la clase las características y comportamientos.

Formas de encapsular:

• Estándar: predeterminado

• Abierto: permite que el miembro de la clase pueda ser accedido en el exterior de la

clase.

• Protegido: solo es accedido desde la clase y la clase que hereda.

• Semi cerrado: solo desde la clase heradada.

• Cerrado: solo accesible desde la clase.


Ejemplo:

Imagen tomada de: https://www.ciberaula.com/cursos/java/encapsulamiento_java.php

Métodos

Los métodos pueden producir un cambio en las propiedades del objeto o en la generación de

un evento con un nuevo mensaje del sistema. Los métodos se dividen en categorías las cuales

son: inicializadores, getters, setters, visualizadores, operadores, constructores, destructores.

Inicializadores:

Solo está permitido señalar el tipo y el nombre de los miembros que la componen.

Getters/ setters:

Significan una interfaz publica para cambiar miembros de clases privadas, se utilizan para

definir una propiedad.

Visualizadores:

Aquellos que muestran el objeto.

Operadores:

Realizar cálculos y generar resultados.


Constructores:

Inicializa u objeto inmediatamente después de su creación.

Destructores:

Su misión principal es liberar memoria.

Clase

Las clases son plantillas las cuales agrupan métodos y atributos que en un futuro son objetos.

Las clases se dividen en clase padre que es la principal de donde salen las clases hijas que heredan

los atributos del padre. O también llamas superclase y subclase.

Ejemplo:

Imagen tomada de: https://www.incanatoit.com/2017/03/herencia-y-polimorfismo-poo.html

Objeto

Un objeto es todo que se identifique dentro de una especificación de requerimientos o problema.

Sus características son: tener estados definibles ya sea abierto o cerrado, que posea

comportamientos asociados, que sean capaces de interactuar y comunicarse con otros objetos.
Ejemplo:

Imagen tomada de: https://aprendiendoarduino.wordpress.com/2019/09/11/clases-y-objetos-2/

Atributos

Los atributos describen el estado de un objeto, que también se le llama datos o variables. Nos

ayudan a diferenciar objetos agregando características (atributos) distintas a cada una. Este consta

de dos partes el identificador y el valor.

Ejemplo:

Imagen tomada de: http://gpd.sip.ucm.es/rafa/docencia/programacion/tema2/tema2.html

Modificadores De Acceso

Para entender un poco mas las diferencias de los modificadores de acceso público, privado y

protegido miremos la siguiente tabla tomada de: https://javadesdecero.es/poo/modificadores-de-

acceso/
Tabla de Modificadores de Acceso en Java

Modificador/Acceso Clase Paquete Subclase Todos

public Sí Sí Sí Sí

protected Sí Sí Sí No

default Sí Sí No No

private Sí No No No

Modificador De Acceso Privado

Este modificador se utiliza con la palabra private, este acceso solo deja visibles los métodos o los

miembros en una clase siempre y cuando hayan sido declarados en esta misma clase.

Ejemplo:

Imagen tomada de: https://guru99.es/wp-content/uploads/2018/03/a7_2.jpg

Modificador De Acceso Protegido

Este modificador se utiliza con la palabra protected, los métodos que estén declarados como

protegidos pueden ser visibles dentro del mismo paquete o subclases.


Ejemplo

// Programa Java para ilustrar


// el modificador protected
package p1;

public class A {

protected void mostrar(){


System.out.println("Java desde Cero");
}

// Programa Java para ilustrar


// el modificador protected
package p2;

// importar todas las clases en el paquete p1


import p1.*;

public class B extends A {


public static void main(String[] args) {
B obj = new B();
obj.mostrar();

ejemplo tomado de: https://javadesdecero.es/poo/modificadores-de-acceso/

Modificador De Acceso Publico

Este modificador de utiliza con la palabra public, este es el modificador mas sencillo ya que

los métodos que estén declarados como públicos pueden ser visibles por cualquier programa sin

ninguna restricción.

Ejemplo:
Imagen tomada de: https://i.ytimg.com/vi/xT7ZjrNopKw/maxresdefault.jpg

Simbología Diagrama Clases y Casos De Uso

Diagrama de clases

Visibilidad:

La visibilidad de un diagrama de clases es público (+), privado (-), protegido (#), derivado (/),

paquete (~).

Clase:

Es la unidad básica que encapsula toda la información de un objeto, esta se representa con un

cuadro que poseen tres divisiones. Donde en el superior contiene el nombre, en el intermedio

contiene los atributos en el inferior contiene lo métodos.


Tomada de:

https://www.ionos.es/digitalguide/fileadmin/DigitalGuide/Screenshots_2019/klassendiagramme-

uml-ES-2.png

Cardinalidad de relaciones:

Esto indica el grado y nivel de dependencia de las clases, su simbología es: *= cero, unió o n.

0,1 = cero o uno . 1..* uno o mas. 1 = exactamente uno. 1…5 entre uno y cinco.

Tomada de: https://joanpaon.files.wordpress.com/2013/06/6.png

Herencia:

Indica que una subclase hereda los métodos y atributos especificados por una super clase.
Tomada de: https://www.ediciones-eni.com/Open/download/351d5068-e3be-45af-b710-

1f69c6199c0d/images/FIGUR35.PNG

Agregación:

Sirve para modelar los obejtos complejos que proveen lenguajes: enteros, reales y secuencias

de caracteres.

Por valor:

El tiempo de vida del objeto está condicionado al tiempo de vida del que lo incluye.

Referencia:

El tiempo de vida del objeto incluido es independiente del que lo incluye.

Tomada de: https://image.slidesharecdn.com/introduccionaumli-111122154927-

phpapp02/95/introduccion-a-uml-39-728.jpg?cb=1321979136

Asociación:

La relación entre clase conocida como asociación permite asociar objetos que colaboran entre

sí.
Tomada de:

https://sites.google.com/site/disenodesistemasnayelilanza/_/rsrc/1315445166425/tipos-de-

relaciones-uml/1R.png

Dependencia:

Representa un tipo de relación en la que una clase es dependiente de otro objeto o clase.

Tomada de: https://www.geocities.ws/jjaimes6603/fase2/imagenes/uml-dependencia.png

Ejemplo de un diagrama de clases:


Imagen tomada de:

https://sites.google.com/site/todouml/_/rsrc/1359461616895/ejercicios/ejercicios-

soluciones/diagrama-de-clases-empleados-de-una-empresa/DCempleados.jpg

Diagrama De Casos De Uso

La simbología de un diagrama de casos de uso no es tan compleja ya que es muy sencilla y no

se utilizan tantos elementos, la cuestión va en saberlos utilizar adecuadamente para que no se

convierta en un arma de doble filo.

Actor

El actor juega el papel de cliente con respecto al sistema.


Imagen tomada de:

https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/Robustness_Diagram_Actor.svg/1

280px-Robustness_Diagram_Actor.svg.png

Casos de uso

Esta es una operación o tarea específica que se realiza tras una orden de algún agente externo.

Asociación:

Indica la invasión desde un actor o caso de uso a otra operación.

Dependencia o instanciación

Es una relación entre clases, en la cual una clase depende de otra.


Generalización

Cumple con una doble función dependiendo lo que se requiera, puede ser de uso <<uses>> o de

herencia <<extends>>, esta destinado solamente a casos de uso y no a actores.

Extends

Se recomienda utitliar cuando un caso de uso es similar a otro en atributos

<<extends>>

Uses

se recomienda ser utilizado cuando se tiene un conjunto de características que son similares en

mas de un caso de uso y no se dese mantener copiada la descripción de la característica.

<<uses>>

Referencias:

1. https://www-alfaomegacloud-com.ezproxy.uniminuto.edu/reader/programacion-orientada-

a-objetos-y-estructura-de-datos-a-fondo?location=91

2. https://www-alfaomegacloud-

com.ezproxy.uniminuto.edu/library/search/programacion%20orientada%20a%20objetos

3. https://www.ecured.cu/Encapsulamiento
4. https://emartini.wordpress.com/2008/08/06/orientacion-a-objetos-objetos-clases-y-

herencia-simple/

5. https://javadesdecero.es/poo/modificadores-de-acceso/

6. https://www.slideshare.net/nedowwhaw/diagrama-de-clases-16208245

7. http://stadium.unad.edu.co/ovas/10596_9839/diagramas_de_casos_de_uso.html

También podría gustarte