Programar es conseguir que una máquina resuelva un problema. La orientación a objetos es una forma de programar (un paradigma) que intenta representar la realidad con la que se trabaja.
Para ello se busca el modelo que queremos trabajar (llamado clase) y, cuando el programa se ejecuté se crearán objetos de ese modelo.
Vamos a intentar explicar la orientación a objetos mediante el siguiente ejemplo:
Tenemos que programar la gestión de urgencias de un hospital.
¿Por dónde empezamos? Primero diseño la clase paciente:
Defino los campos que necesito tratar, almacenar o compartir. Podrían ser su número de historial, sus datos personales, su historial y su tratamiento.
Defino además los métodos que necesito para trabajar con el paciente, por ejemplo: diagnosticar, comprobar la evolución, dar el alta, etc.
Y ya sólo falta que ocurran eventos, el primero de ellos es que con cada persona que entre a urgencias se creará su ficha, un objeto de la clase paciente. Gracias a los métodos que tenemos programados podemos ir actualizando su historial, consultar su estado, darle el alta,....
Y además podemos establecer más clases, incluso heredadas. Así puedo tener la clase diabético, que es un tipo de paciente con su atributos y métodos específicos.