2 EDyA1 POO

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 13

ESTRUCTURAS DE

DATOS Y ALGORITMOS 1
POO en JavaScript

Profesor
Orlando Arboleda Molina
(Uso exclusivo de docentes)*
PROGRAMACION ORIENTADA A OBJETOS (POO)

• Es un paradigma de programación que usa objetos y sus interacciones, para


diseñar aplicaciones y programas informáticos. Está basado en varias técnicas,
incluyendo herencia, abstracción, polimorfismo y encapsulamiento. (wikipedia)

• Object-oriented programming is a method of programming based on a hierarchy of


classes, and well-defined and cooperating objects. (Oracle-Sun)
CLASES Y OBJETOS
Una clase, define un conjunto de elementos que tienen características (atributos) y
comportamientos (métodos) comunes.

Un objeto, define una instancia particular de la clase. Por lo tanto, todo objeto tiene los
mismos atributos y métodos que la clase que lo define.
Ejemplo: Se indica la clase CarroFormula1 y dos objetos de dicha clase
MODELADO DE CLASES

• The Unified Modeling Language (UML) is a language for specifying, visualizing,


constructing, and documenting the artifacts of software systems, as well as for
business modeling and other non-software systems. The UML represents a
collection of the best engineering practices that have proven successful in the
modeling of large and complex system. (ISO/IEC 19501:2005 - Unified Modeling
Language Specification Version 1.4.2)
• El Lenguaje Unificado de Modelado (UML), lenguaje estándar de modelado para
desarrollo de sistemas y de software.
• Se aplica en la representación y modelado de la información que se utiliza en las
fases de análisis y diseño.
MODELADO DE CLASES

• Nombre: se escribe en singular y debe representar claramente a la clase.


• Atributos: se escriben en singular. Se deben indicar su tipo de dato y visibilidad.

• Método: se escriben con un verbo en infinitivo (ej. calcularXX, obtenerYY, etc). Se


debe indicar su visibilidad y tipo de dato de salida (igual para los parámetros).
No se le deben suministrar como parámetros, los atributos, ni otros métodos.
Ejemplo:
RELACIONES ENTRE CLASES

• Conexión semántica entre clases.

• Permite que una clase conozca los atributos, comportamientos y las relaciones de
otras clases.

• Se destacan:
• Dependencia
• Asociación
• Generalización o Herencia
RELACIÓN DE DEPENDENCIA

• Es una relación de uso, implica que una clase utiliza a la otra, sin embargo, un
cambio en la especificación de una clase puede afectar a aquella que la utiliza.

• Se representa con una flecha punteada, iniciada en la clase que utiliza y la punta en
la clase utilizada

Ejemplo: la clase UsaPunto en su método main podría crear objetos de la clase Puntos,
almacenarlos en arreglos y obtener el punto que está mas alejado
RELACIÓN DE ASOCIACION

• Especifica que los objetos de una clase incluyen objetos de otra clase. Se conoce
como relación “contiene un/unos”.

• Se representa con una flecha de línea continua y su navegación puede ser


bidireccional o unidireccional (iniciada en la clase que incluye).
Ejemplo: el diagrama de clase mostrado indica que una Persona incluye información
de su CuentaBancaria y que la CuentaBancaria es exclusiva de una Persona.
RELACIÓN DE ASOCIACION (2)

• La multiplicidad determina el número de instancias de una clase que se relacionan


con una instancia de otra clase. Cada asociación tiene dos multiplicidades
(cardinalidad).

• Tipos de Asociación:
• Composición - el tiempo de vida de la parte, está condicionado por el tiempo de vida
del todo. Se representa con un diamante de color negro en la clase que incluye.
• Agregación - el tiempo de vida de la parte, es independiente del tiempo de vida del
todo. Se representa con un diamante de color blanco en la clase que incluye.

Ejemplo: teniendo en cuenta que si no existe una empresa no pueden existir sus
empleados, mientras que una empresa agrupa varios clientes
RELACIÓN DE HERENCIA

• Es la relación entre una clase general (superclase) y clases especificas (subclase).


Se conoce como relación “es un”.
• Proceso mediante el cual una clase y como consecuencia su objeto adquiere las
propiedades no privadas de otro.

• Se representa con una flecha de línea continua y punta cerrada, sin rellenar
(iniciada en la subclase).

• Aparece la visibilidad protegida (protected, simbolizada con “#”) para los atributos de
las superclases.
POO en JavaScript

• JavaScript no es un lenguaje basado en clases, es basado en prototipos.


• En ECMAScript 2015 introdujo la palabra clave class.

Ejemplo: implementación de las clases Persona y Estudiante; y su posterior uso.


EJERCICIO
Ejercicio de implementación: modificar la practica correspondiente al tema para que se
corresponda al siguiente diagrama de clases.
BUEN VIENTO Y BUENA MAR !!!

También podría gustarte

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy