Introducción a la Programación Orientada a Objetos

Jul 11, 2024

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.