GLOSARIO
PROGRAMACIÓN ORIENTADA A OBJETOS
(P O O)
ALUMNO: Sebastián Mayorga De La Cruz
GRADO: 2DO SEMESTRE
CARRERA: ING. En Sistemas Computacionales
HORARIO: 10:00 AM – 11:00 AM
AULA: M_09
DOCENTE: AMADA JACKELINE SALOMON GONZALEZ
ACTIVIDAD: No.1
1
Sebastián Mayorga De La Cruz | 23300716 | 31/01/24 | Programación Orientada A Objetos |
1. Clase: Una clase es un tipo de dato definido por el programador
específicamente para crear objetos, es decir, una plantilla. La clase establece
las características compartidas de un grupo de objetos, siendo el
programador quien la define de manera similar a un tipo de dato complejo,
asignándole un nombre. Una vez que la clase está definida, se pueden crear
objetos basados en ella.
Ej. Por ejemplo una clase podría ser “Clase personas”, siendo la clase
“Personas” la plantilla para poder crear objetos en base a la clase.
Bibliografía:https://www.cua.uam.mx/pdfs/revistas_electronicas/libros-
electronicos/2016/2intro-poo/programacion_web.pdf
2. Objeto: Es una instancia específica de una clase. Este contiene datos y
funciones que responden a las propiedades del objeto.
Ej. Por ejemplo, si tenemos la clase “Frutas” podemos dar por hecho que un
objeto sería una fruta, como un mango, una pera, un melón, etc.…
Bibliografía:https://www.cua.uam.mx/pdfs/revistas_electronicas/libros-
electronicos/2016/2intro-poo/programacion_web.pdf
https://www.unirioja.es/cu/jearansa/0910/archivos/EIPR_Tema01.pdf
3. Atributo: Los atributos también conocidos como variables son considerados
una propiedad o característica, nosotros utilizamos a los atributos para
asignar un valor a un objeto.
Ej. Volviendo a utilizar el ejemplo anterior de la clase “Personas” si a la clase
agregamos objetos (persona1, persona2, persona3) podemos agregar
atributos tales como la edad, nombre, género, etc.….
Bibliografía:https://es.ryte.com/wiki/Atributo#:~:text=En%20la%20programación%20orientada
%20a,valores%20específicos%20a%20ciertos%20elementos.
https://openwebinars.net/blog/introduccion-a-poo-en-java-atributos-y-
constructores/#:~:text=Los%20atributos%20en%20Java%2C%20también,a%20partir%20de%2
0esa%20clase.
4. Método: Un método es una función enlazada a una clase o a un objeto.
Los métodos definen el comportamiento de un objeto y nos permiten realizar
ciertas operaciones, estos tienen la capacidad de modificar el estado interno
y acceder a los atributos de los objetos.
Ej. Por ejemplo, si tenemos una clase llamada “estudiante” que tiene los
atributos “nombre” y “calificaciones”, si nosotros queremos calcular el
promedio de este estudiante, podemos crear un método llamado
“calcular_promedio” y agregaríamos los pasos y la lógica necesaria para que
nuestro método pueda calcular el promedio.
Bibliografía: https://programacion.top/orientada-objetos/metodo/
2
Sebastián Mayorga De La Cruz | 23300716 | 31/01/24 | Programación Orientada A Objetos |
5. Diagrama UML: El diagrama UML (Lenguaje Unificado de Modelado) es una
representación gráfica y simplificada para entender un proyecto complejo,
principalmente utilizado para representar
planos sobre el funcionamiento y
estructura de un software.
Ej. En este ejemplo podemos observar el
comportamiento de un programa de
reportes de problemas que utiliza los
tickets para su servicio. Como se puede
ver nos explica de forma simple su
funcionamiento sin necesidad de mostrar
algún código lo cual hace que se fácil su
entendimiento.
Bibliografía:
https://blog.comparasoftware.com/diagramas-de-
uml-que-significa-esta-metodologia/
https://moqups.com/img/mqlps/images/uml-
diagram-tool/Rectangle%2024%20copy%206.png
6. Programación Orientada a Objetos: La
Programación Orientada a Objetos, es un modelo de programación el cual
basa su software en datos u objetos en vez de utilizar solo funciones y
lógica. Organiza la lógica del programa alrededor de entidades llamadas
objetos, y estas clases contienen atributos (datos) y métodos (funciones) que
operan estos datos.
La POO es una forma mas organizada para la creación de software.
Ej. Podemos volver a utilizar el ejemplo de la clase “Personas” utilizando los
objetos ya creados (persona1, persona2, etc.…) con los atributos
asignados (edad, nombre, etc.…) (15 - Ricardo) y se crea un método llamado
“presentarse”, que devuelve una cadena con una presentación de los datos.
De esta forma se muestra la simplicidad de encapsular datos y
comportamientos relacionados a un objeto, como mostrar los datos.
Bibliografía: https://universidadeuropea.com/blog/programacion-orientada-objetos/
3
Sebastián Mayorga De La Cruz | 23300716 | 31/01/24 | Programación Orientada A Objetos |
7. Abstracción: La abstracción se basa en la simplificación de la
representación de un sistema para destacar solo los aspectos esenciales.
Esta simplificación permite a los programadores centrarse en las partes
importantes de un proyecto evitando la distracción con los elementos internos
más complejos.
Ej. Para nosotros poder aplicar la abstracción tenemos que importar la clase
abstracta “ABC” y el decorador “abstractmethod”
(Import abc import ABC, abstractmethod) De esta forma asignamos que
partes especificas del programa trabajaran de forma abstracta. (Esto en el
lenguaje de Python)
Ahora el ejemplo se basa en modelar figuras geométricas básicas, primero
se asigna la clase “Figuras” el cual se le asigna un atributo (nombre)
posteriormente creamos el primer método abstracto el cual se llamará
(calcular_área) después agregamos la clase concreta que hereda de la clase
“Figuras” (Circulo), pedimos los datos necesarios para calcular el área de un
circulo (radio) y le asignamos los pasos al método abstracto (calcular área).
De esta forma podemos observar la abstracción ya que creamos un tipo de
“plantilla” (proveniente de una clase genérica Figuras) muy sencilla para
calcular el área de un círculo, si nosotros queremos utilizarlo para calcular el
área de otra figura, utilizaríamos el mismo código, pero cambiando solo el
comportamiento del método abstracto (Por ejemplo, un rectángulo, la
formula cambiaria a base * altura pidiendo tales valores al usuario).
Bibliografía:https://keepcoding.io/blog/que-es-la-abstraccion-en-
programacion/#:~:text=La%20abstracción%20en%20programación%20se,contiene%20solo%2
0la%20información%20esencial.
8. Modularidad: Consiste en separar un programa en módulos mas pequeños
e independientes. Cada modulo con sus respectivos límites y un propósito
especifico, siendo estos también reutilizables cuando sean necesarios.
Ej. Imaginemos que estamos construyendo un programa que maneja
operaciones matemáticas simples, ahora, nosotros podemos utilizar el
principio de modularidad para separar dichas operaciones en módulos
independientes.
(Suma, resta, multiplicación y división) de esta forma asignamos una
operación para cada módulo lo cual esto hace que puedan ser utilizados en
cualquier momento.
Bibliografía: https://keepcoding.io/blog/que-es-la-modularidad-en-programacion/
4
Sebastián Mayorga De La Cruz | 23300716 | 31/01/24 | Programación Orientada A Objetos |
9. Encapsulamiento: El encapsulamiento no es más que la ocultación de los
datos provenientes de un objeto, es decir, encapsular los atributos y
métodos de un objeto (método y atributos privados)
Ej. Podemos utilizar el ejemplo de la clase (Personas) donde los atributos
(edad, nombre) se vuelven privados (encapsulamiento) y la única manera
de acceder a ellos es por medio de un método publico el cual los hace
visibles.
Bibliografía: https://rjcodeadvance.com/programacion-orientada-a-objetos-encapsulacion-poo-
parte-3/
10. Herencia: La herencia nos permite definir nuevas clases provenientes de
clases ya existentes con el fin de reutilizar el código. Si una clase proviene
de otra entonces esta clase hereda los atributos y métodos de la clase
proveniente, (la nueva clase también puede adquirir nuevos métodos y
atributos).
Ej. Como ejemplo, vamos a crear una clase llamada “Animal” el cual tendrá
un método definido “Hacer_sonido”, de esta clase se derivarán 2 clases más,
llamadas “Gato” y “Perro” los cuales van a sobrescribir el método
“Hacer_sonido” para adaptarlo a sus propias características.
Bibliografía: https://ifgeekthen.nttdata.com/es/herencia-en-programacion-orientada-objetos
11. Polimorfismo: El polimorfismo es la capacidad de hacer que, al invocar el
mismo método desde distintos objetos, los objetos puedan responder a esa
invocación de forma distinta e independiente en función a los atributos.
Ej. Como ejemplo utilizaremos la clase “Animal” la cual le agregaremos el
método “Hacer_sonido”, esta clase heredara a la clase “Gato” y “Perro” sus
atributos y métodos, como los objetos son parte de la clase “Animal”
podemos crear variables de referencia por cada tipo de animal (AnimalA,
AnimalB) y de esta forma podemos llamar al método “Hacer_Sonido” de
forma mas sencilla utilizando las variables “AnimalA” y “AnimalB”.
Bibliografía: https://www.unirioja.es/cu/jearansa/0910/archivos/EIPR_Tema03.pdf
https://ifgeekthen.nttdata.com/es/polimorfismo-en-java-programación-orientada-objetos
5
Sebastián Mayorga De La Cruz | 23300716 | 31/01/24 | Programación Orientada A Objetos |
12. Visibilidad de Atributos: La visibilidad es la forma en la que los atributos
y métodos pueden ser utilizados por las clases dependiendo su clasificación
de visibilidad, estos pueden ser 3. Privado: Este hace que solo la clase
principal pueda utilizar el atributo o método respectivo (Se simboliza con (-)).
Publico: Este indica que los atributos y métodos dentro de esta sección
pueden ser utilizados por cualquier otra clase (Se simboliza con (+)).
Protegido: Este determina que los atributos/métodos dentro de esta
sección pueden ser utilizados solo por la clase que lo contenga y las
subclases de esta misma (Se simboliza con (#)).
Ej. Un ejemplo sencillo seria crear una clase llamada “Bebida” en la cual
colocamos 3 atributos (Costo, Marca, Litros) asignando un valor de
visibilidad a cada uno (Costo es un atributo público) (Marca es un atributo
protegido) (Litros es un atributo privado). Esto quiere decir que si yo creo otra
clase (No heredada) llamada “comida” no podre utilizar los atributos
protegidos ni privados, solamente los públicos, en cambio si la clase
“comida” es una subclase de la clase “Bebida” Entonces el único atributo
que no sería utilizable seria “Litros”.
Bibliografía: https://lscauml.wordpress.com/2012/01/27/visibilidad/
13. Paradigma: Paradigma es un termino general el cual es visto en la
programación en general el cual se refiere a un enfoque o modelo
conceptual en la cual se abarca la forma en que un programador o un
conjunto de programadores dan solución a uno o varios problemas. Dicho
de otra manera, es un método o un estilo de programar.
Ej. Un ejemplo sería la misma Programación Orientada a Objetos la cual
basa su solución de problemas en un entorno referido a objetos que tienen
datos y funciones, Java y Python son ejemplos que siguen este
paradigma. Si lo vemos en un código, cada uno de los ejemplos anteriores
utiliza el paradigma de la Programación Orientada a Objetos ya que
utilizan la estructura que este modelo tiene para resolver problemas.
Bibliografía:https://ferestrepoca.github.io/paradigmas-de-
programacion/poo/poo_teoria/index.html
https://www.significados.com/paradigma/
https://ve.scielo.org/scielo.php?script=sci_arttext&pid=S1316-
00872005000100002#:~:text=Un%20paradigma%20es%20entendido%20como,problemas%20y
%20buscar%20soluciones%20(p.
6
Sebastián Mayorga De La Cruz | 23300716 | 31/01/24 | Programación Orientada A Objetos |