UNIDAD 2.2 Obejtos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 42

PROGRAMACIÓN ORIENTADA

A OBJETOS
Docente: Ing. Sandra Carrillo, Mg.​
Octubre 2021 – Febrero 202

Creado por: Ing. Leonardo Torres, Mg.


UNIDAD 2
Clases y objetos para solucionar
problemas sencillos de programación.
Objetivo: Definir clases y objetos para solucionar
problemas sencillos de programación.
Contenido

● Definición de una clase.


● Instanciación de una clase
● Implementación de algoritmos sencillos como métodos de
clases
● Implementación de soluciones a problemas reales
sencillos como métodos de clases
Variables estáticas
● Son variables que pertenecen a la clase y no al objeto/instancia
● Se inicializan solo una vez al inicio de la ejecución.
● Se inicializan primero, antes de la inicialización de cualquier variable de instancia
● Una sola copia es compartida por todas las instancias de la clase
● Se puede acceder directamente a una variable estática por el nombre de clase y no
necesita ningún objeto
Métodos estáticos
Son métodos que pertenecen a la clase y no al objeto/instancia
Un método estático solo puede acceder a datos estáticos. No puede
acceder a datos no estáticos (variables de instancia)

Variable de instancia
Métodos estáticos
Un método estático puede llamar solo a otros métodos estáticos y no puede invocar un
método no estático a partir de él.
Se puede acceder a un método estático directamente por el nombre de la clase y no
necesita ningún objeto
Un método estático no puede hacer referencia a “this” o “super”.
Ejemplo
● La clase Integer posee un método que transforma un valor sin la necesidad
de instanciar un objeto
● Se utiliza directamente la clase como se observa en el ejemplo:

Como se observa no hace falta instanciar el objeto:


Ejercicio
● Se tiene una clase Empleado el cual posee atributos como: código, nombre,
apellido, horas trabajadas,
● Dicha clase posee una variable estática llamada sueldo por hora que fija el
sueldo por hora para todos los empleados
● Se tiene un método llamado CalcularSueldo el cual utiliza las horas
trabajadas de cada empleado y la variable estática para obtener el sueldo por
empleado
● Todos los atributos están encapsulados
Instancia de una clase
Se llama instancia a todo objeto que derive de una clase.
Cada una de estas instancias manejara de forma separa sus atributos, sin embargo los
métodos son comunes para todas.
Se puede crear un numero ilimitado de instancias a partir de una clase
Implementación de algoritmos
sencillos como métodos de
clases
Introducción
Para diseñar un programa o algoritmo orientado a objetos se
hacen dos cosas:
● Primero se diseña el diagrama de clases siguiendo los

lineamientos explicados
● Segundo, se diseña la lógica de cada una de las clases

usando la técnica seudocódigo.


Ejemplo

● Elaborar un algoritmo para calcular e


imprimir el sueldo de un empleado.
Ejemplo
Siguiendo el proceso de programación se hace lo siguiente:
1. Definir el problema.
● Elaborar un algoritmo que permita calcular el sueldo de un

empleado.
Ejemplo
2. Analizar el problema.
● Se tienen los datos del empleado: Nombre, Número de horas
trabajadas y la Cuota que se le paga por hora trabajada. Se
requiere imprimir los datos: Nombre del empleado y Sueldo que se
le debe pagar. El Sueldo se calcula multiplicando las horas
trabajadas por cuota por hora.
Ejemplo
● Resumiendo, desde la perspectiva de entrada-proceso-salida:
● Información que debe imprimir como salida: Nombre y Sueldo.
● Datos que debe leer: Nombre, Número de horas trabajadas y
Cuota por hora.
● Calcular sueldo: Sueldo=Horas trabajadas x Cuota por hora.
Ejemplo
3. Diseñar el programa: Para diseñar el programa, se elabora el
algoritmo que soluciona el problema en dos pasos:
Primero:
● Se diseña el diagrama de clases,
Ejemplo Este diagrama consta de dos clases: una es la clase Empleado5, que es el
modelo que representa y soluciona el problema planteado, la cual está
formada por:
Ejemplo
La otra es la clase EjecutaEmpleado5, que es la
clase controlador, la cual utiliza el modelo, que es
la clase Empleado5, para controlar la interacción
con el usuario representando y resolviendo su
problema.
Ejemplo
Segundo:
● Se diseña la lógica de cada una de las clases usando

seudocódigo para armar el algoritmo que resuelve el problema.


● A continuación se explica cómo elaborar el algoritmo de la

solución. En los casos en los que se tiene más de una clase el


formato del algoritmo es el siguiente
Ejemplo
Ejemplo: Explicación
● Se tiene el esquema de un algoritmo que tiene tres clases (puede
haber más clases).
● Cada clase tiene su parte de declaraciones, donde se declaran los
datos, y enseguida los métodos que necesite.
● Cabe aclarar que, en un algoritmo que tiene varias clases, sólo en
una clase se puede tener un método principal, ya que es ahí
donde el programa inicia su funcionamiento y en el momento en
que lo requiera utilizará las otras clases y métodos.
Ejemplo: Explicación
● Tomando como base el diagrama de clases diseñado en el punto
anterior, donde se tienen dos clases: la Clase Empleado5 y la Clase
EjecutaEmpleado5, ahora se procederá a diseñar la lógica de cada
una de las clases usando seudocódigo.
● Queda el siguiente algoritmo:
Ejemplo:
Ejemplo: Explicación
Ejemplo: Explicación
Ejemplo: Explicación
Este paso permite declarar las
variables que representan los
datos o atributos que
caracterizan al objeto empleado,
el cual se creará a partir de esta
clase; es decir, los datos: nombre
del empleado, número de horas
trabajadas, cuota que se le paga
por hora trabajada y sueldo.
Ejemplo: Explicación
Ejemplo: Explicación
Ejemplo: Explicación
Ejemplo: Explicación
Ejemplo: Explicación
Ejemplo: Explicación

Este paso es un método (getter) que permite acceder al valor del dato
sueldo. Observe que lo único que hace es retornar (return) el valor del
dato sueldo al punto desde donde se llama a este método. Real es el
tipo de dato del valor que regresa.
Ejemplo: Explicación
Inicia EjecutaEmpleado5, que es la clase controlador que utiliza a la clase Empleado5 para controlar la
interacción con el usuario y permite que el programa sea operado por éste para resolver su problema.
Ejemplo: Explicación
Al realizar la instancia sucede lo siguiente:
Se genera el objeto objEmpleado tomando como base la clase Empleado5. El
objeto creado en la memoria dinámica (Heap) tiene dos elementos. Un elemento
son los datos que lo representan: nombreEmp, que se inicia en nulo; horasTrab,
que se inicia en cero; cuotaHora, que se inicia en cero; y sueldo, que se inicia en
cero.
El otro elemento son los métodos: establecerNombreEmp(), establecerHorasTrab(),
establecerCuotaHora(), calcularSueldo(), obtenerNombreEmp() y obtenerSueldo(),
los cuales permiten acceder a los datos del objeto, ya sea para establecer o para
obtener valores.
Ejemplo: Explicación
Se declaran las variables que se encargaran de contener los valores a leerse por teclado
Se solicitan y se leen por teclado los datos
Se establecen los valores a través de los setters
Se realizan los cálculos correspondientes y se imprime el resultado
Ejemplo: Explicación
Ejemplo: Explicación
Ejemplo: Explicación

Los datos del objeto toman valores y realizan


cálculos a través de los métodos del mismo
objeto, con lo cual el objeto tiene una vista
similar a la figura.
Ejemplo: Explicación

En memoria se tiene algo similar a la figura


mostrada
Ejemplo: Explicación
Ejemplo: Explicación
Ejercicio
Elaborar un programa que permita calcular la hipotenusa, el
perímetro y el área de un triangulo rectángulo
● Generar el diagrama de clases

● Generar el seudocódigo de métodos de clases

● Generar el código

También podría gustarte