¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

Programación Orientada a Objetos

Billy Yong Le López Lin 2CV12 Informática Inglés

Programación Orientada a Objetos

Contenido del mapa

Programación Orientada a Objetos

  1. Conceptos básicos

    • Abstracción
      • Obtener las partes fundamentales de un sistema y describirlas de una manera simple y precisa
        • Define características (atributos) y comportamientos (operaciones)
    • Tipificación
      • Restricción debido al tipo (clase) de un objeto, de forma que objetos de diferentes tipos no pueden intercambiarse
    • Encapsulamiento
      • Ocultamiento de información, que es el proceso de esconder todos los secretos de un objeto
        • Normalmente, la estructura de un objeto está oculta, así como la implementación de sus métodos
    • Polimorfismo
      • Al enviar el mismo mensaje (invocar el mismo método) desde distintos objetos, cada uno de estos objetos pueda responder a ese mensaje (o invocación) de forma distinta
    • Jerarquía de clases
      • Clasificación u ordenación de abstracciones
        • Agrupar definiciones abstractas que son similares por niveles, partiendo de lo más general y descendiendo hacia lo más específico
          • Utiliza la relación "es un"
  2. Clases y objetos

    • Constructor
      • Inicializa los valores de los campos de un objeto al momento de su creación
        • Normal
          • Definido por el programador
        • Por omisión
          • Proporcionado por Java (mientras no exista algún constructor dado por el programador)
    • Objeto
      • Instancia de una clase
    • Método
      • Conjunto de instrucciones definidas dentro de una clase
        • Realizan una determinada tarea y las podemos invocar mediante un nombre
    • Sobrecarga de métodos
      • Cuando tenemos 2 o más métodos con el mismo nombre pero con diferente definición dentro de una misma clase
        • El tipo y número de argumentos determina cuál de las definiciones del método es la que se invoca
    • Sobrecarga de operadores
      • Cuando reutilizando el mismo operador con un número de usos diferentes, y el compilador decide cómo usar ese operador dependiendo sobre qué opera
        • Solo se puede utilizar con clases, no se pueden redefinir los operadores para los tipos simples predefinidos
    • Atributos, miembros y bloques estáticos
      • Atributos estáticos
        • Su vida se extiende a lo largo de toda la ejecución del programa (siempre tiene alocado su lugar en memoria), sin necesidad de que se haya instanciado un objeto
      • Miembros estáticos
        • Son métodos y propiedades que residen en el objeto del constructor y no en cada uno de los objetos creados a partir de ella
      • Bloques estáticos
        • Son clases que requieren algún tipo de inicialización antes de que esté lista para crear objetos
          • Un bloque estático se ejecuta cuando la clase se carga por primera vez
    • Atributos y miembros de instancia
      • Atributos de instancia
        • Son los valores que caracterizan a una instancia
      • Miembros de instancia
        • Son las variables propias de una instancia de a clase
          • Tiene un valor único, esto es, independientemente de cualquier otra instancia de la clase
  3. Clase abstracta

    • Cuando una clase tiene al menos un método abstracto, la clase tendrá que ser declarada como clase abstracta
      • Una clase es abstracta si los comportamientos generales de la clase base no pueden ser definidos (con código)
    • Métodos abstractos
      • Los métodos abstractos no tienen definición (cuerpo). Solamente deben ser declarados como abstractos
        • Forzosamente habrán de estar sobreescritos en las subclases
          • Si una subclase no implementa un método abstracto de la superclase, tiene un método no ejecutable, lo que la fuerza a ser una subclase abstracta
  4. Interfaces

    • Tipo de referencia que solamente puede contener constantes y métodos abstractos
      • Los métodos son declarados como public y abstract.
      • Las constantes son declaradas como public, static, y final.
      • En jerarquía de clases
        • Una interfaz permite relacionar dos o más jerarquías de clases distintas
          • Decimos que las clases relacionadas implementan un conjunto de métodos comunes que están en la interfaz
      • Contratos
        • Una interfaz es un contrato entre dos entidades
          • Esto es, que una interfaz provee un servicio a una clase consumidora
      • Tipo de dato
        • Al declarar una interfaz, también se hace un nuevo tipo de referencia
          • Pueden emplearse identificadores de interfaz en cualquier lugar donde se pueda utilizar el identificar de un tipo de dato
      • Herencia de interfaces
        • Tanto la declaración de una clase, como la de una interfaz, pueden incluir la implementación de otras interfaces
      • Polimorfismo en interfaces
        • Podemos invocar a métodos de diferentes objetos teniendo implementaciones distintas, según el objeto al que estemos haciendo referencia
  5. Tipos de acceso

    • Tipos de acceso en herencia de clases
      • La subclase puede acceder a atributos o métodos de su clase base usando la palabra reservada super
  6. Agregación de clases

    • Consiste en definir una clase usando objetos de otra u otras clases
      • Acceso a miembros de clases agregadas
        • Es posible hacerlo mediante el uso de métodos de la clase del objeto y su clase agregada
      • Manejo de constructores
        • Para generar un objeto que tiene una clase agregada, es necesario definir un objeto de esa misma clase antes de usar el constructor del primer objeto
          • De esa forma, el objeto de la clase agregada pasará como argumento para el constructor de la primera clase
      • Acceso a miembros de clases internas o anidadas
        • Para invocar el nombre de un método o atributo estático de una clase interna estática desde una clase externa, se deberá escribir tal nombre precedido por el nombre de la clase interna estática y un punto
      • Clases anidadas
        • Empaquetar dentro de una clase aquellas otras clases que no tienen utilidad o entidad fuera del contexto de ella
          • Cuando la clase anidada no es estática, se denomina clase interior
  7. Herencia

    • Simple
    • Múltiple
    • Simulación de herencia múltiple en Java mediante interfaces
      • Una clase puede derivar de un interface de la misma manera en que puede derivar de otra clase
        • Se dice que el interface se implementa (implements), no se extiende (extends) por sus subclases
          • Una clase puede implementar uno o varios interfaces en Java, pero sólo puede extender una clase
            • Implementar varios interfaces en una sola clase es lo más parecido a la herencia múltiple
  8. Polimorfismos

    • Los métodos en Java son polimórficos porque una misma llamada en un programa puede dar lugar a la ejecución de distintos métodos según el tipo dinámico de una variable
  9. Forzamientos

    • Upcasting
      • Es cuando asignamos una referencia de una subclase a una referencia de una superclase
    • Downcasting
      • A partir de una referencia a una superclase hacemos referencia a una subclase
        • Requiere de un cast (moldeo) explícito
  10. López Lin Billy Yong Le

Imágenes y archivos del mapa

  • Programación Orientada a Objetos
  • Programación Orientada a Objetos
  • Programación Orientada a Objetos
  • Programación Orientada a Objetos

Información

Descripción
Informática Mapa Mental sobre Programación Orientada a Objetos, creado por Billy Yong Le López Lin 2CV12 el 13/06/2021.
Visitas
3
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?