Programación
Orientada a
Objetos
Programación orientada a objetos
 Principio: “Todo puede ser representado como una
colección objetos relacionados, que interactúan entre sí”
Beneficios
 Todo el código que tiene algo que ver con un objeto en
específico se encuentra en un solo lugar.
 Los objetos pueden poseer atributos y métodos
inherentes de la clase a la que pertenecen
 La escritura de código es más sencilla porque se
conceptualiza como algo que le sucede a un objeto
 POO hace que los programas grandes sean mantenibles
Características
 Abstracción
 Modularidad
 Herencia
 Polimorfismo
 Encapsulación
Abstracción
 Es el proceso mental de extracción de las características
esenciales de algo, ignorando los detalles superfluos.
Modularidad
 Fragmentar un programa en componentes individuales
reduce su complejidad en algún grado.
 Propiedad que tiene un sistema que ha sido descompuesto
en un conjunto de módulos coherentes y débilmente
acoplados.
 Propiedad que permite estructurar y ordenar las unidades
de ejecución que en ese contexto suelen llamarse
subprogramas, funciones o procedimientos.
Herencia
DEFINICIONES:
 Clase Descendiente: Un descendiente de una Clase C, es cualquier
clase que hereda directa o indirectamente de C. También suele
recibir el denominativo de subclase.
 Clase Ancestro: Un ancestro de la Clase C, es la Clase A de la que C
es descendiente. También suele recibir el denominativo de
superclase
 Diagrama de Clases: El diagrama donde se muestran las Clases que
conforman la aplicación y sus relaciones, se conoce como Diagrama
de Clases.
Polimorfismo
 Significa que un conjunto de objetos derivados,
pueden ser considerados como los objetos padre,
siempre y cuando no se consideren atributos o
métodos especializados
Encapsulacion
 La idea de la Encapsulación, está relacionada con el deseo
de ocultar o proteger algo.
 Lo que se oculta no es la información contenida, sino los
detalles de cómo esa información es soportada.
 CALIFICADORES:
 Privados
 Públicos
 Protegidos
Definiciones
 Una clase, es un modelo abstracto de un objeto
 Un objeto, es una instancia concreta de una clase
Relaciones entre Objetos
 Dependencia: Se da cuando una clase necesita de otra para
realizar sus funciones, esta necesidad no implica pertenencia.
 Se la representa con una línea punteada con una flecha que
apunta a la clase necesitada.
Relaciones entre Objetos
 Asociación: Una clase necesita de otra para realizar sus funciones,
no implica pertenencia, pero la clase necesitada si puede formar
parte de sus atributos.
 Se la representa con una línea continua con una flecha que apunta
a la clase necesitada. Si la relación es bidireccional, no se colocan
flechas
Relaciones entre Objetos
 Agregación: Cuando un objeto puede ser parte de otro objeto. Esta relación
denota pertenencia. Una instancia de una clase puede ser agregada a otra cuando
sea necesario, pero que no es imprescindible para que la primera pueda existir.
La agregación, está representada por una línea
recta que tiene el contorno de un rombo en el
lado del objeto contenedor.
Relaciones entre Objetos
 Composición: Esta relación indica que una instancia de una clase es
parte de otra. En esencia se podría decir que una instancia de la segunda
no puede existir sin la primera. La pertenencia es fuerte.
 Está representada por una línea recta que tiene un rombo negro en el
lado del objeto contenedor
Herencia
 Generalización, especialización: Cuando se
tienen diferentes objetos con características
comunes, se recomienda crear una jerarquía de
objetos, partiendo del objeto más general en la
cima, para llegar al objeto más específico en la
base
 Esta relación está representada por una línea que
tiene un triángulo, la punta del triángulo está
orientada hacia la clase más general y la base del
triángulo está orientada hacia la o las clases más
específicas.
Diagrama de clases
 Un diagrama de clases sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de
agregación, ya que una clase es una descripción de conjunto de objetos que
comparten los mismos atributos, operaciones, métodos, relaciones y semántica;
mostrando un conjunto de elementos que son estáticos, como las clases y tipos junto
con sus contenidos y relaciones. Esta compuesto por : Clase: atributos, métodos y
visibilidad. Relaciones: Herencia, Composición, Agregación, Asociación y Uso
Diagrama de clases
 Todos los atributos y métodos de una superclase son heredados en las subclases.
Clase abstracta pura porque no se
instancia, tampco será implementada
- Herencia
Diagrama de clases
 Todos los atributos y métodos de una superclase son heredados en las subclases.
- Herencia
- Asociación
Diagrama de clases
 Todos los atributos y métodos de una superclase son heredados en las subclases.
- Herencia
- Asociación
- Agregación
Diagrama de clases
 Todos los atributos y métodos de una superclase son heredados en las subclases.
Ejercicio
Se pide modelar un diagrama de clases para el desarrollo de un
software de “carrito de compras en línea” que debe cumplir los
siguientes requisitos.
-El software debe tener usuarios administradores que serán los que
renueven los catálogos de productos, para ello accederán al sistema
con credenciales que los identifiquen.
También existirán usuarios cliente que accederán al sistema y podrán
hacer pedido de productos para comprar. Una vez que se haya llenado
el carrito con productos a comprar, deberá confirmar su pedido y el
sistema le mostrará un detalle del pedido y los datos de envío para
una confirmación final y se proceda al envío de los productos hasta su
domicilio.
Diagrama de clases - ejercicio

Paradigma POO.pptx

  • 1.
  • 2.
    Programación orientada aobjetos  Principio: “Todo puede ser representado como una colección objetos relacionados, que interactúan entre sí”
  • 3.
    Beneficios  Todo elcódigo que tiene algo que ver con un objeto en específico se encuentra en un solo lugar.  Los objetos pueden poseer atributos y métodos inherentes de la clase a la que pertenecen  La escritura de código es más sencilla porque se conceptualiza como algo que le sucede a un objeto  POO hace que los programas grandes sean mantenibles
  • 4.
    Características  Abstracción  Modularidad Herencia  Polimorfismo  Encapsulación
  • 5.
    Abstracción  Es elproceso mental de extracción de las características esenciales de algo, ignorando los detalles superfluos.
  • 6.
    Modularidad  Fragmentar unprograma en componentes individuales reduce su complejidad en algún grado.  Propiedad que tiene un sistema que ha sido descompuesto en un conjunto de módulos coherentes y débilmente acoplados.  Propiedad que permite estructurar y ordenar las unidades de ejecución que en ese contexto suelen llamarse subprogramas, funciones o procedimientos.
  • 7.
    Herencia DEFINICIONES:  Clase Descendiente:Un descendiente de una Clase C, es cualquier clase que hereda directa o indirectamente de C. También suele recibir el denominativo de subclase.  Clase Ancestro: Un ancestro de la Clase C, es la Clase A de la que C es descendiente. También suele recibir el denominativo de superclase  Diagrama de Clases: El diagrama donde se muestran las Clases que conforman la aplicación y sus relaciones, se conoce como Diagrama de Clases.
  • 8.
    Polimorfismo  Significa queun conjunto de objetos derivados, pueden ser considerados como los objetos padre, siempre y cuando no se consideren atributos o métodos especializados
  • 9.
    Encapsulacion  La ideade la Encapsulación, está relacionada con el deseo de ocultar o proteger algo.  Lo que se oculta no es la información contenida, sino los detalles de cómo esa información es soportada.  CALIFICADORES:  Privados  Públicos  Protegidos
  • 10.
    Definiciones  Una clase,es un modelo abstracto de un objeto  Un objeto, es una instancia concreta de una clase
  • 11.
    Relaciones entre Objetos Dependencia: Se da cuando una clase necesita de otra para realizar sus funciones, esta necesidad no implica pertenencia.  Se la representa con una línea punteada con una flecha que apunta a la clase necesitada.
  • 12.
    Relaciones entre Objetos Asociación: Una clase necesita de otra para realizar sus funciones, no implica pertenencia, pero la clase necesitada si puede formar parte de sus atributos.  Se la representa con una línea continua con una flecha que apunta a la clase necesitada. Si la relación es bidireccional, no se colocan flechas
  • 13.
    Relaciones entre Objetos Agregación: Cuando un objeto puede ser parte de otro objeto. Esta relación denota pertenencia. Una instancia de una clase puede ser agregada a otra cuando sea necesario, pero que no es imprescindible para que la primera pueda existir. La agregación, está representada por una línea recta que tiene el contorno de un rombo en el lado del objeto contenedor.
  • 14.
    Relaciones entre Objetos Composición: Esta relación indica que una instancia de una clase es parte de otra. En esencia se podría decir que una instancia de la segunda no puede existir sin la primera. La pertenencia es fuerte.  Está representada por una línea recta que tiene un rombo negro en el lado del objeto contenedor
  • 15.
    Herencia  Generalización, especialización:Cuando se tienen diferentes objetos con características comunes, se recomienda crear una jerarquía de objetos, partiendo del objeto más general en la cima, para llegar al objeto más específico en la base  Esta relación está representada por una línea que tiene un triángulo, la punta del triángulo está orientada hacia la clase más general y la base del triángulo está orientada hacia la o las clases más específicas.
  • 16.
    Diagrama de clases Un diagrama de clases sirve para visualizar las relaciones entre las clases que involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de agregación, ya que una clase es una descripción de conjunto de objetos que comparten los mismos atributos, operaciones, métodos, relaciones y semántica; mostrando un conjunto de elementos que son estáticos, como las clases y tipos junto con sus contenidos y relaciones. Esta compuesto por : Clase: atributos, métodos y visibilidad. Relaciones: Herencia, Composición, Agregación, Asociación y Uso
  • 17.
    Diagrama de clases Todos los atributos y métodos de una superclase son heredados en las subclases. Clase abstracta pura porque no se instancia, tampco será implementada - Herencia
  • 18.
    Diagrama de clases Todos los atributos y métodos de una superclase son heredados en las subclases. - Herencia - Asociación
  • 19.
    Diagrama de clases Todos los atributos y métodos de una superclase son heredados en las subclases. - Herencia - Asociación - Agregación
  • 20.
    Diagrama de clases Todos los atributos y métodos de una superclase son heredados en las subclases.
  • 21.
    Ejercicio Se pide modelarun diagrama de clases para el desarrollo de un software de “carrito de compras en línea” que debe cumplir los siguientes requisitos. -El software debe tener usuarios administradores que serán los que renueven los catálogos de productos, para ello accederán al sistema con credenciales que los identifiquen. También existirán usuarios cliente que accederán al sistema y podrán hacer pedido de productos para comprar. Una vez que se haya llenado el carrito con productos a comprar, deberá confirmar su pedido y el sistema le mostrará un detalle del pedido y los datos de envío para una confirmación final y se proceda al envío de los productos hasta su domicilio.
  • 22.
    Diagrama de clases- ejercicio