Programación Orientada a Objetos (POO)
Conceptos Básicos
- Programación Orientada a Objetos: Paradigma de programación basado en el uso de objetos.
- Lenguaje de Programación Orientado a Objetos: Un lenguaje que soporta conceptos de POO.
- Conceptos principales:
- Clase
- Objeto
- Polimorfismo
- Encapsulamiento
- Herencia
- Abstracción de Datos
- Ejemplo: Java es un lenguaje que soporta todos estos conceptos.
Clase y Objeto
- Clase: Colección de atributos y comportamientos.
- Ejemplo:
Animal
(Clase), Perro
, Elefante
, Caballo
(Objetos).
- Clase es una categoría o grupo de objetos que comparten atributos y comportamientos similares.
- Definición alternativa: Plano o blueprint para crear objetos.
- Objeto: Instancia de una clase.
- Ejemplo:
objeto1 = new Animal()
.
- Diferencia entre Clase y Objeto:
- Clase: Entidad lógica, no física; no ocupa espacio en memoria.
- Objeto: Entidad física; ocupa espacio en memoria; se deriva de una clase.
Sintaxis en Java
Creación de una Clase
class Empleado {
int empId;
String nombre;
double salario;
void mostrarDatos() {
// Mostrar datos del empleado
}
}
Creación de un Objeto
Empleado emp1 = new Empleado();
emp1.empId = 101;
emp1.nombre = "John";
emp1.salario = 5000.0;
emp1.mostrarDatos();
Acceso a Atributos y Métodos
- Uso del operador
.
para acceder a métodos y atributos del objeto:
emp1.empId = 101;
emp1.nombre = "John";
emp1.mostrarDatos();
Clase con Métodos
- Una clase puede contener múltiples métodos y atributos.
- Método: Función dentro de una clase.
- void: Tipo de retorno que indica que el método no devuelve ningún valor.
Clase Principal y Clases Auxiliares
- Se recomienda tener una clase principal que contenga el método
main
para la ejecución del programa, y otras clases sin método main
pueden ser utilizadas mediante objetos.
class Principal {
public static void main(String[] args) {
Empleado emp1 = new Empleado();
// Operaciones con emp1
}
}
Visibilidad y Uso entre Paquetes
- Si las clases están en diferentes paquetes, se deben importar las clases utilizando la declaración
import
.
import paquete1.Empleado;
Resumen
- Clase: Entidad lógica que define un grupo de objetos con atributos y comportamientos similares.
- Objeto: Instancia específica de una clase, entidad física que ocupa espacio en memoria.
- Sintaxis en Java involucra la creación de clases y objetos, y el acceso a sus métodos y atributos mediante el operador
.
.
- Se puede tener una clase principal con el método
main
, y otras clases auxiliares que no necesitan tener main
.
- Entender estos conceptos es fundamental para avanzar en otros temas de POO como herencia, polimorfismo, encapsulamiento y abstracción.