Parte 2 -Tema 3 Flashcards
Programación orientada a objetos
¿Qué es la Programación Orientada a Objetos (POO)?
Es un paradigma de programación que organiza el software alrededor de datos, o “objetos”, que contienen tanto datos como el comportamiento que opera sobre esos datos.
¿Cuáles son los pilares fundamentales de la POO?
- Abstracción: Modelar el mundo real en términos de objetos.
- Encapsulación: Ocultar los detalles internos de un objeto y exponer solo lo necesario.
- Herencia: Crear nuevas clases a partir de clases existentes, heredando sus atributos y métodos.
- Polimorfismo: La capacidad de que objetos de diferentes clases respondan de manera diferente al mismo mensaje.
¿Qué es una clase?
Es un plano o plantilla que define las características (atributos) y comportamientos (métodos) de un objeto.
¿Qué es un objeto?
Es una instancia de una clase, una representación concreta de esa clase.
¿Cuál es la diferencia entre una clase y un objeto?
Una clase es abstracta, mientras que un objeto es concreto.
¿Qué es la encapsulación?
Es el mecanismo de ocultar los detalles internos de un objeto y exponer solo una interfaz para interactuar con él.
¿Por qué es importante la encapsulación?
Aumenta la seguridad del código, facilita el mantenimiento y reduce la dependencia entre las diferentes partes del programa.
¿Qué es la herencia?
Es un mecanismo que permite crear nuevas clases (subclases) a partir de clases existentes (superclases), heredando sus atributos y métodos
¿Cuáles son los tipos de herencia?
Simple, múltiple (no soportada en todos los lenguajes) y jerárquica.
¿Qué es el polimorfismo?
Es la capacidad de que objetos de diferentes clases respondan de manera diferente al mismo mensaje.
¿Cuáles son los tipos de polimorfismo?
- Polimorfismo de sustitución: Un objeto de una subclase puede ser utilizado donde se espera un objeto de la superclase.
- Sobrecarga: Múltiples métodos con el mismo nombre pero diferentes parámetros.
- Sobreescritura: Redefinición de un método en una subclase.
Abstracción
La capacidad de focalizarse en las características esenciales de un objeto, ignorando los detalles de implementación.
Interfaz
Define un contrato que una clase debe cumplir, especificando los métodos que debe implementar.
Asociación
Una relación entre dos clases.
Agregación
Una relación “tiene un” entre dos clases, donde un objeto es parte de otro.
Composición
Una relación “está compuesto por” más fuerte que la agregación, donde un objeto no puede existir sin otro.
¿Qué es una clase en POO?
- Es un plano o plantilla que define las características (atributos) y comportamientos (métodos) de un objeto.
- Ejemplo: La clase “Perro” podría tener atributos como “raza”, “nombre”, “edad” y métodos como “ladrar()”, “comer()”, “jugar()”.
¿Qué es un objeto en POO?
Es una instancia de una clase, una representación concreta de esa clase.
¿Qué es un atributo en POO?
Es una característica o propiedad de un objeto, que representa un dato asociado a ese objeto.
¿Qué es un método en POO?
Es una acción o comportamiento que un objeto puede realizar.
¿Qué es la encapsulación y cómo se relaciona con los atributos y métodos?
Es el mecanismo de ocultar los detalles internos de un objeto (atributos) y exponer solo una interfaz para interactuar con él (métodos).
¿Cuáles son los principales modificadores de acceso en POO?
- Público: Accesible desde cualquier parte del programa.
- Privado: Accesible solo desde dentro de la clase.
- Protegido: Accesible desde dentro de la clase y sus subclases.
- Paquete: Accesible desde cualquier clase dentro del mismo paquete.