Capítulo 7.1: Conceptos fundamentales de orientación a objetos

TollFreeWisdom4869 avatar
TollFreeWisdom4869
·
·
Download

Start Quiz

Study Flashcards

20 Questions

¿Cuáles son algunas de las propiedades más importantes de la programación orientada a objetos?

Polimorfismo

¿Qué es la abstracción en la programación orientada a objetos?

La abstracción se refiere a considerar los aspectos más significativos de un problema y expresar una solución en esos términos.

El encapsulamiento u ocultación de datos en POO implica reunir elementos que se consideran de la misma entidad a nivel de abstracción.

True

¿Qué es la herencia en programación orientada a objetos?

El concepto de dividir una clase en subclases que comparten características con la clase base.

El polimorfismo permite que una operación tenga el mismo nombre en diferentes clases y actúe de manera distinta en cada una.

True

¿Qué es una clase y cómo se relaciona con la creación de objetos en programación orientada a objetos?

Una clase es una plantilla a partir de la cual se crean objetos. Los objetos que se derivan de la misma clase tienen propiedades similares.

¿Qué es una clase en programación orientada a objetos?

Una entidad que encapsula información y comportamiento

¿Cuáles son las tres características clave de los objetos en Java?

estado, comportamiento e identidad

¿Cómo se definen los atributos en una clase de Java?

Variables

¿Qué es un objeto en programación orientada a objetos?

Una instancia o ejemplar de una clase.

Las clases en Java no pueden contener métodos.

False

La herencia en programación orientada a objetos es la relación entre dos clases, donde una derivada se crea a partir de otra ya existente llamada base.

True

Relaciona los siguientes conceptos de programación orientada a objetos:

Atributos = Datos que diferencian un objeto de otro Métodos = Operaciones y funciones Identidad = Propiedad que diferencia un objeto

¿Cómo se representa gráficamente una relación de dependencia en el modelado orientado a objetos?

Con una línea punteada

¿Qué implica la relación de dependencia en el modelado orientado a objetos?

Un elemento utiliza la información y servicios de otro elemento

¿Qué es la relación de agregación en el modelado orientado a objetos?

Es una relación todo y parte o compuesto y componentes, donde un objeto de una clase contiene objetos de otra clase.

La herencia en el modelado orientado a objetos permite que una clase derive métodos de otra clase.

True

¿Qué representación gráfica se utiliza para mostrar la herencia en UML?

Triángulo abierto o punta de flecha apuntando hacia la clase padre

¿Qué significa la herencia múltiple en Java?

La herencia múltiple significa que una clase puede derivarse de más de una superclase, lo cual no es soportado por Java.

Relaciona los siguientes elementos de programación orientada a objetos:

Clase base = Superclase Clase derivada = Subclase Herencia simple = La subclase se deriva de una única superclase Herencia múltiple = La subclase se deriva de más de una superclase

Study Notes

Conceptos fundamentales de orientación a objetos

  • La programación orientada a objetos (POO) es un enfoque conceptual específico para diseñar programas utilizando un lenguaje que se centra en los objetos.

Abstracción

  • La abstracción es la propiedad que considera los aspectos más significativos o notables de un problema y expresa una solución en esos términos.
  • La abstracción posee diversos grados denominados niveles, lo que ayuda a estructurar la complejidad intrínseca que poseen los sistemas del mundo real.
  • La abstracción se utiliza en el análisis de un sistema, concentrándose en qué hace y no en cómo lo hace.

Encapsulamiento y ocultación de datos

  • El encapsulamiento significa reunir en cierta estructura todos los elementos que, a determinado nivel de abstracción, se pueden considerar de una misma entidad.
  • El encapsulamiento oculta lo que hace un objeto de lo que hacen otros objetos del mundo exterior, por lo que se denomina también ocultación de datos.
  • La interfaz de una clase representa un contrato de prestación de servicios entre ella y los demás componentes del sistema.

Herencia

  • La herencia es el concepto de clases divididas en subclases, lo que conduce a la creación de jerarquías.
  • La herencia permite la creación de nuevas clases a partir de otra ya existente, la que sirve de modelo se llama base y la que se creó, hereda sus características, además se pueden personalizar añadiendo rasgos adicionales.

Polimorfismo

  • El polimorfismo es la propiedad que le permite a una operación o función tener el mismo nombre en clases diferentes y actuar de modo distinto en cada una de ellas.
  • El polimorfismo es importante en el modelado de sistemas porque el uso de palabras iguales tiene comportamientos distintos, según el problema a resolver.
  • En el desarrollo de software, el polimorfismo aprovecha la propiedad de la herencia y permite que un objeto determine en tiempo de ejecución la operación a realizar.### Fundamentos de Programación Orientada a Objetos
  • La sobrecarga de métodos es una propiedad importante derivada del polimorfismo, que permite a un operador o función actuar de forma diferente dependiendo de los objetos sobre los que actúan.
  • El polimorfismo permite intercambiar clases, permitiendo que un objeto de una clase sea reemplazado por otro objeto de la misma clase.
  • La reutilización (reusabilidad) es otra propiedad fundamental de la programación orientada a objetos, que permite crear una clase y luego reutilizarla en otras aplicaciones.

Clases

  • Una clase es una plantilla o modelo a partir de la cual se crean objetos.
  • Los objetos que se derivan de la misma clase tienen características o propiedades similares.
  • Todo el código escrito en Java está dentro de una clase.
  • La biblioteca estándar de Java contiene cientos o miles de clases que sirven para diversos propósitos.

Objetos

  • Un objeto es una instancia de una clase y tiene tres características o propiedades clave: estado, comportamiento e identidad.
  • El estado de un objeto se refiere a los atributos o datos que lo diferencian de otros objetos.
  • El comportamiento de un objeto se refiere a las operaciones o funciones que se pueden realizar sobre él.
  • La identidad de un objeto se refiere a la propiedad que lo diferencia de otros objetos similares.

Identificación de Clases y Objetos

  • La regla más simple para identificar clases es buscar nombres en el análisis del problema y en su dominio de definición.
  • Los métodos corresponden a verbos y se definen como grupos de sentencias o instrucciones relacionadas que realizan una tarea específica sobre sus propios objetos.

Relaciones entre Clases

  • Una relación es una conexión semántica entre clases que permite que una conozca los atributos, operaciones y relaciones de otras.
  • Las relaciones entre clases se clasifican en dependencias, generalizaciones-especializaciones, asociaciones-agregaciones.
  • La relación de dependencia se utiliza cuando se desee indicar que un elemento utiliza a otro.
  • La relación de agregación es un caso especial de asociación y normalmente indica que una clase recuerda o retiene una relación con otra durante un período determinado.
  • La herencia es una relación es-un expresada entre una clase más especial y una más general denominada base.

UML: Modelado de Aplicaciones

  • El Lenguaje Unificado de Modelado (UML) es el lenguaje estándar de modelado de facto para el desarrollo de sistemas y software.
  • El UML se utiliza para representar gráficamente las clases, objetos y sus relaciones.
  • La notación UML se utiliza para modelar aplicaciones y otros dominios.### Modelado de sistemas
  • El modelado es una abstracción de la realidad que se utiliza para gestionar la complejidad en el diseño de sistemas.
  • Un modelo es una simplificación de un sistema real que facilita su comprensión, evaluación y análisis.

Lenguaje de modelado UML

  • UML es un lenguaje de modelado visual que se utiliza para desarrollar sistemas de software.
  • UML se compone de diagramas que representan los elementos y relaciones entre ellos.
  • Un lenguaje de modelado es todo aquel que contiene una notación o medio de expresar el modelo y una descripción de su significado o metamodelo.
  • Ventajas de UML:
    • Formal, cada elemento del lenguaje está rigurosamente definido.
    • Conciso.
    • Comprensible, completo, describe todos los aspectos importantes de un sistema.
    • Escalable, sirve para gestionar grandes y pequeños proyectos.
    • Construido sobre la filosofía de lecciones aprendidas, ya que recogió lo mejor de tres métodos populares probados.

Clases y objetos en UML

  • Una clase es un tipo definido por el usuario que se utiliza para describir un conjunto de objetos que comparten una estructura, comportamiento y semántica comunes.
  • Un objeto es una instancia de una clase.
  • Una clase define la estructura y el comportamiento de un objeto.
  • Los objetos se construyen a partir de las clases mediante la instanciación.
  • Variables y métodos de una clase:
    • Variables de instancia: datos definidos en una clase que se utilizan para describir los objetos.
    • Métodos: código que se utiliza para operar sobre los datos de la clase.

Representación gráfica de clases y objetos en UML

  • Una clase se representa con una caja rectangular dividida en compartimentos.
  • El nombre de la clase se escribe en el compartimento superior.
  • Los atributos se escriben en el compartimento medio.
  • Los métodos se escriben en el compartimento inferior.
  • Un objeto se representa con una caja rectangular con el nombre del objeto seguido de dos puntos y el nombre de la clase.
  • La herencia es la relación entre dos clases, en la que una clase derivada se crea a partir de una clase base.

Herencia: clases derivadas

  • La herencia es la manifestación más clara de la relación de generalización/especialización en la programación orientada a objetos.
  • La herencia se utiliza para construir una nueva clase a partir de otra que ya existe y representa un concepto más general.
  • Ventajas de la herencia:
    • Permite reutilizar código.
    • Facilita la creación de nuevas clases a partir de clases existentes.
    • Ayuda a organizar y estructurar el código de manera más eficiente.

Aprende los conceptos básicos de programación orientada a objetos en este capítulo. Descubre los objetivos y beneficios de esta técnica de programación.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser