PROGRAMACION
ORIENTADA A OBJETOS
DEFINICION
Es un paradigma de la
programación, una manera de
programar específica, donde
se organiza el código en
unidades denominadas
clases, de las cuales se crean
objetos que se relacionan entre
sí para conseguir los objetivos de
las aplicaciones.
Es una forma de organizar y
escribir programas de manera
que todo se basa en “objetos”.
Un objeto es como una “cajita”
que tiene cosas que sabe
CONCEPTOS CLAVES
• Método: Es una acción o función que un objeto puede
realizar. Cuando le envías un "mensaje" a un objeto, le estás
• Clase: Es un "molde" o una "plantilla" para crear objetos. En pidiendo que ejecute uno de sus métodos.
este molde, defines qué atributos (características) y métodos
(acciones) tendrán los objetos que crees a partir de él. • Evento: Es algo que sucede en el sistema, como cuando
haces clic en un botón o un objeto envía un mensaje a otro. El
• Instancia (u Objeto): Es un objeto real creado a partir de programa reacciona a estos eventos.
una clase. Tiene sus propios atributos y puede realizar las
acciones definidas en la clase
CONCEPTOS CLAVES
• Atributo o Propiedad: Son
las características o datos que
tiene un objeto.
• Mensaje: Es una
comunicación que le envías a • Componentes de un objeto: Un objeto se compone de sus
un objeto para que ejecute atributos, su identidad, sus relaciones con otros objetos y sus
métodos.
uno de sus métodos. • Representación de un objeto: Un objeto se puede ver
como una tabla o entidad que contiene sus atributos y las
• Estado interno: Es una funciones que puede realizar.
variable privada dentro de un
objeto que solo sus propios
métodos pueden cambiar.
Sirve para indicar diferentes
situaciones del objeto, pero no
es visible directamente desde
fuera.
•Clases y objetos
•La clase es el molde o receta.
•El objeto es lo que sale de esa receta.
CARACTERISTIC Ejemplo: Clase “Perro” → Objetos “Fido”, “Luna”, “Rex”.
•Atributos y métodos
AS •Atributos: las características del objeto (color, tamaño, edad).
•Métodos: lo que el objeto puede hacer (correr, saltar, dormir).
•Encapsulación
•Guardar la información del objeto para que no cualquiera pueda
cambiarla sin permiso.
•Ejemplo: no cualquiera puede cambiar la edad de tu perro sin tu
consentimiento.
•Herencia
•Un objeto puede “heredar” características y acciones de otro.
•Ejemplo: “Perro” y “Gato” pueden heredar de “Animal” que ya sabe comer y dormir.
•Polimorfismo (palabra rara, idea simple)
•Un mismo comando puede funcionar de manera diferente según el objeto.
•Ejemplo: “hablar” para un perro es ladrar, para un gato es maullar.
• Abstracción: Es la capacidad de
CARACTERISTICAS - DEFINICION
enfocarse en las características
más importantes de un objeto y
en lo que puede hacer, sin
preocuparse por los detalles • Polimorfismo: Viene de
internos de cómo lo hace. "muchas formas". Significa que
diferentes objetos pueden
• Encapsulamiento: Significa
responder de manera distinta a
agrupar los datos (atributos) y las
un mismo mensaje o acción. Por
acciones (métodos) que
ejemplo, si tienes un botón de
pertenecen a una misma entidad.
"Reproducir", un reproductor de
Esto ayuda a mantener el código
música reproducirá una canción,
ordenado y a proteger los datos
mientras que un reproductor de
internos de un objeto para que
video reproducirá una película. La
no sean modificados por error
acción es la misma
desde fuera. Solo los métodos del
("Reproducir"), pero el resultado
propio objeto pueden cambiar su
es diferente según el objeto.
estado.
CARACTERISTICAS - DEFINICION
• Herencia: Permite que una clase
(llamada subclase) tome
prestadas las características y
comportamientos de otra clase
(llamada superclase). Es como si • Recolección de basura
un cachorro "heredara" (Garbage Collection): Es una
características de sus padres. característica de algunos
Esto ayuda a reutilizar el código y lenguajes de POO que
a organizar las clases en automáticamente limpia la
jerarquías. Si una clase hereda de memoria de los objetos que ya no
varias, se llama herencia se están usando. Esto significa
múltiple. que los programadores no tienen
que preocuparse por liberar la
• Modularidad: Es la capacidad memoria manualmente.
de dividir un programa grande en
partes más pequeñas e
independientes, llamadas
módulos. Cada módulo se
encarga de una tarea específica y
se puede desarrollar y probar por
separado.