POO Flashcards
Que es POO?
es un paradigma de programación que se
centra en la creación de objetos que interactúan entre sí para realizar una tarea.
Cada objeto tiene su propio estado y comportamiento, y se pueden crear nuevas instancias a partir de una clase base que define los atributos y
métodos comunes a todos los objetos de esa clase.
Que es una Clase?
Son plantillas o moldes que definen las propiedades (atributos) y comportamientos (métodos) de los objetos. Una clase es una abstracción que encapsula los detalles de implementación.
Objetos
Son instancias de una clase. Un objeto tiene un estado, representado por sus atributos, y puede realizar acciones a través de sus métodos.
Atributos
Un atributo es una variable que se define dentro de una clase y que representa una propiedad o característica del objeto creado a partir de esa clase.
Métodos
Un método es una función que se define dentro de una clase y que define un comportamiento o acción que un objeto de esa clase puede realizar. Los métodos pueden modificar los atributos del objeto o realizar otras operaciones.
Métodos y atributos
Los atributos son las propiedades que definen el estado de un objeto, mientras que los métodos son las acciones que los objetos pueden realizar.
Principios de la POO
- Herencia
- Abstracción
- Polimorfismo
- Encapsulación
Estos principios ayudan a organizar el código de manera que sea más modular, reutilizable y fácil de mantener.
Encapsulamiento
Este principio sugiere que los detalles internos de la implementación de una clase deben estar ocultos a otros objetos. Solo se deben exponer métodos específicos para interactuar con el objeto.
Herencia
Permite que una clase (subclase) herede atributos y métodos de otra clase (superclase). Esto fomenta la reutilización de código y establece una jerarquía entre las clases.
Polimorfismo
Permite que una interfaz única sea utilizada para representar diferentes tipos de objetos. En otras palabras, el mismo método puede comportarse de manera diferente según el objeto que lo invoque.
Abstracción
Es el proceso de simplificar un sistema complejo dividiéndolo en partes más manejables y enfocándose en los aspectos relevantes, mientras se ocultan los detalles innecesarios.
Constructores
Son métodos especiales que se utilizan para inicializar nuevos objetos de una clase. Un constructor tiene el mismo nombre que la clase y no tiene tipo de retorno.
Interfases
Son una forma de definir contratos que las clases deben cumplir. Las interfaces permiten definir métodos que las clases deben implementar sin proporcionar una implementación concreta.
Clases Abstractas
Son clases que no se pueden instanciar directamente y se utilizan como base para otras clases. Pueden contener métodos abstractos (sin implementación) que deben ser implementados por las subclases.
Sobreescritura de Métodos
Permite que una subclase proporcione una implementación específica para un método que ya está definido en su superclase. Esto se hace utilizando la anotación @Override.