Pensemos en el estilo Vintage que es un término francés que se utiliza para referirse a objetos, accesorios y prendas provenientes de la década de 1920. Es un estilo elegante y romántico, que se logra mezclando objetos de diseño antiguo con accesorios vanguardistas y modernos. ok pues así como una persona puede optar por este estilo (pero ojo otro dirá que carajos yo quiero ser estilo hipster) así un desarrollador puede elegir un estilo un modelo de programar en este caso estudiaremos la PROGRAMACION ORIENTADA A OBJETOS que básicamente es un Paradigma.
Según el físico y filósofo estadounidense Thomas Samuel Kuhn (1922-1996), en su libro La estructura de las revoluciones científicas, los paradigmas son:
“Logros científicos que generan modelos que, durante un período más o menos largo, y de modo más o menos explícito, orientan el desarrollo posterior de las investigaciones exclusivamente en la búsqueda de soluciones para los problemas planteados por estas”.
Y ahora como descifrar esto, sencillo un paradigma son modelo, patrón, ejemplo, MOLDE, ideal, así como canon, norma o regla. En conclusion como paradigma denominamos todo aquel modelo, patrón o ejemplo que debe seguirse en determinada situación.
Los objetos son cualquier cosa si cualquier cosa así de sencillo. cualquier cosa de la que podamos emitir un concepto porque vaya que si lo vamos a necesitar, tenemos alrededor nuestro una cantidad de objetos que somos capaces de representarlos en una solución informática.
que tal si hacemos un proceso mental, si observas el objeto a la izquierda, se que tendrás un concepto preconcebido en su mente y dirás que es un AUTOMOVIL pensemos en este momento en ese automóvil, 4 llantas, 2 puertas, 2 farolas. etc.
Si lo es ya lo sabemos que es un Moto, 2 llantas, color negro, 1 farola, 1 motor, etc.
Primero por Datos que representan su estructura. En otras palabras, ATRIBUTOS que describen su forma o apariencia.
Segundo por MÉTODOS que implementan las funciones propias de su comportamiento, es decir, MÉTODOS que manipulan los datos para hacer la entrada, proceso y salida de los mismos. En el contexto no orientado a objetos, a los métodos se les conoce como procedimientos, módulos, funciones, subrutinas, etcétera.
Podemos ahora realizar un esquema. para lograr entender mejor.
El objeto se representa con un rectángulo redondeado y está formado por dos partes: una parte son los datos que representan la estructura del objeto y la otra parte
son los métodos que implementan las operaciones que se deben realizar sobre los
datos.
Estudiemos el siguiente problema para mayor comprensión.
1) PLANTEAMIENTO DEL PROBLEMA
En la empresa X se tienen varios empleados; por cada empleado se tienen los datos: Nombre, Número de horas trabajadas y Cuota que se le paga por hora trabajada. Cada quincena se requiere emitir un cheque con los datos: Nombre del empleado y Sueldo que se le debe pagar. El sueldo se calcula multiplicando las horas trabajadas por cuota por hora.
Resumiendo, desde la perspectiva de entrada-proceso-salida:
Información que debe imprimir como salida: Nombre y Sueldo.
Datos que se deben leer: Nombre, Horas trabajadas y Cuota por hora.
Proceso por seguir: calcular Sueldo=Horas trabajadas x Cuota por hora
2) IDENTIFICACION DE LOS OBJETOS
OJO recordemos algo que es un SUSTANTIVO (Que tiene existencia real e independiente)
¿Cómo se identifican los objetos? Se buscan los sustantivos presentes en la especificación; En nuestro problema se menciona un sustantivo: los empleados.
Aplicando esto, en el problema formulado líneas antes tenemos que nuestro programa debe representar una colección de empleados como la que se muestra en la siguiente figura:
La clase es una representación abstracta que describe a un conjunto de objetos; en otras palabras, es un tipo de dato abstracto que representa a un conjunto de objetos que tienen en común una misma estructura (de datos) y un mismo comportamiento.
Sabe que mejor una clase es un Molde. aunque técnicamente es lo anterior.
En la fase de diseño del programa, el elemento central es la clase porque un conjunto de objetos iguales debe ser representado en forma abstracta por una clase, que fungirá como una plantilla o molde para crear todos y cada uno de los objetos necesarios.
En el entorno del proceso de programación sigue el paso:
3) DISEÑO DEL PROGRAMA
Para diseñar el programa, se elabora o diseña el algoritmo que soluciona el problema en dos pasos: primero, se diseña el diagrama de clases; segundo, se diseña la lógica de las clases en seudocódigo; después se hace la prueba de escritorio.
Una vez identificados los objetos del problema, se procede a diseñar el diagrama de clases, para lo cual debemos primero determinar la(s) clase(s) que necesitaremos y luego dibujar el diagrama con la representación de la(s) clase(s) y sus instancias.
Los objetos identificados en el punto anterior se convierten en clases que, como ya se mencionó, son la representación abstracta de un conjunto de objetos; aplicando este concepto al problema que nos ocupa, el cual tiene un conjunto de objetos de empleados, tenemos que dicha colección se representa como CLASE.
La línea indica que hay una relación “instancia de” u “objeto de”; por ejemplo, que Juan es una instancia, objeto u ocurrencia de la clase Empleado, lo mismo que Pedro, Mateo, etcétera..
Como ya lo hemos mencionado, un objeto es representado por medio de datos:
datos que deben entrar como materia prima y datos que deben calcularse a partir de otros datos. Los métodos son las acciones que implementan el comportamiento o las funciones de un objeto: por ejemplo, leer o dar entrada a los datos, hacer cálculos, imprimir o dar salida de datos.
comprendido que tenemos una clase llamada EMPLEADO y que debemos analizar los datos y los métodos. La encapsulación significa colocar juntos los datos y los métodos dentro de un objeto. Uno de los principios más importantes de la programación orientada a objetos es que el programador debe pensar en el código y
los datos juntos durante el diseño del programa. Ninguno, ni el código ni los datos, existen en un vacío. Los datos dirigen el flujo del código y el código manipula la forma y valores de los datos.
Cuando el código y los datos son entidades separadas, siempre existe el peligro de llamar al método correcto con los datos erróneos o viceversa. Juntar los dos es trabajo del programador. El objeto mantiene en sincronía los datos y los métodos empacados juntos en el mismo.
Al diseñar la estructura de una clase, se deben hacer dos cosas:
1. Definir los datos que representarán a los objetos de la clase. Los datos que representan a un objeto son de dos tipos:
-> Un tipo son los datos que entrarán como materia prima, es decir, que se deberán leer a través de dispositivos de entrada.
-> El otro tipo son datos que se deben generar mediante cálculos.
2. Definir los métodos que implementarán las acciones de los objetos. Los métodos son de dos tipos:
-> Un tipo son los métodos que colocan o establecen (setters) valores a los datos del objeto, ya sean datos que se leen o datos que se generan mediante cálculos.
-> El otro tipo son los métodos que acceden u obtienen (getters) los valores de los datos para utilizarlos, ya sea para hacer cálculos, para darles salida o hacer otra cosa con ellos.
¿COMO IDENTIFICAR LOS METODOS DEL PROBLEMA? Se buscan los verbos presentes en el planteamiento del problema. En nuestro caso se debe:
Imprimir como salida: Nombre y Sueldo.
Leer los datos: Nombre, Horas trabajadas y Cuota por hora.
Calcular el sueldo: Sueldo=Horas trabajadas x Cuota por hora.
nombreEmp Nombre del empleado
horasTrab Número de horas trabajadas
cuotaHora Cuota por hora
sueldo Sueldo del empleado
Observe que los métodos setter inician su nombre con “establecer” o “calcular” y los métodos getter inician con “obtener”. Asimismo, observe que no se define un método getter para todos los datos; en este caso sólo se definieron para los datos que se van a imprimir como salida: nombreEmp y sueldo.
Para cada dato, se debe definir un método para establecer o colocar (setter) el valor que tomará —ya sea que lo tome a través de la lectura del dato, de la realización de cálculos, o de otra forma— y un método obtener (getter) para cada dato a cuyo valor se requiera acceder para utilizarlo, ya sea para hacer cálculos, para imprimirlo o para hacer alguna otra cosa con él.
En nuestro problema, se requieren los siguientes métodos:
establecerNombreEmp(). Para establecer el valor del dato nombreEmp.
establecerHorasTrab(). Para establecer el valor del dato horasTrab.
establecerCuotaHora(). Para establecer el valor del dato cuotaHora.
calcularSueldo(). Para calcular y establecer el valor del dato sueldo.
obtenerNombreEmp(). Para acceder e imprimir el valor del dato nombreEmp.
obtenerSueldo(). Para acceder e imprimir el valor del dato sueldo.
Una vez que se tienen definidos los datos y los métodos necesarios, se procede a diseñar la estructura de la clase, que al mismo tiempo se convierte en el diagrama de clases. Se hace con el siguiente formato:
En donde:
NombreClase Indica el nombre de la clase.
dato1, dato2, dato3, datoN Son los datos que representarán a cada uno de los
objetos de la clase.
método1(), método2(), Son los métodos que establecerán y obtendrán
método3(), métodoN() los valores de los datos de cada uno de los objetos de
esta clase.
() Indica que es un método.
- Modificador de acceso (visibilidad).
Modicadores de acceso (visibilidad)
En donde:
Se tienen los datos:
- dato1 Privado (Private)
+ dato2 Público (Public)
# dato3 Protegido (Protected)
= dato4 Estático (Static)
Y los métodos:
- método1 Privado (Private)
+ método2 Público (Public)
# método3 Protegido (Protected)
= método4 Estático (Static)
* método5 Abstracto (Abstract)
Por defecto (default), los datos son privados; es decir, si no se les define su visibilidad mediante alguno de los modificadores de acceso (- + # =), entonces los datos son privados.
Por defecto (default), los métodos son públicos; es decir, si no se les define su visibilidad mediante alguno de los modificadores de acceso (- + # = *), entonces los métodos son públicos..
Explicación:
Se tiene el diagrama de clases, el cual consta de una clase.
Nombre de la clase: Empleado
Datos que tiene la clase:
nombreEmp Nombre del empleado
horasTrab Número de horas trabajadas
cuotaHora Cuota por hora
sueldo Sueldo del empleado
Métodos que tiene la clase:
establecerNombreEmp(). Para establecer el valor del dato nombreEmp.
establecerHorasTrab(). Para establecer el valor del dato horasTrab.
establecerCuotaHora(). Para establecer el valor del dato cuotaHora.
calcularSueldo(). Para calcular y establecer el valor del dato sueldo.
obtenerNombreEmp(). Para acceder e imprimir el valor del dato nombreEmp.
obtenerSueldo(). Para acceder e imprimir el valor del dato sueldo.
Una vez que tenemos definida una clase como Empleado, ésta se utiliza para generar instancias u ocurrencias. Estas instancias son los objetos que darán vida al funcionamiento de nuestro programa. Esto quiere decir que la clase es como un molde, una plantilla o tipo de dato que se utiliza para generar objetos específicos.
En la siguiente figura se esquematiza:
Elaborar un algoritmo para calcular el área de un triángulo. Se requiere imprimir como salida el área del triángulo. Los datos disponibles para leer como entrada son la base y la altura del triángulo.
El área se calcula:
Área = Base X Altura / 2
Elaborar un algoritmo que permita leer el tamaño de un ángulo en radianes, luego que calcule e imprima el seno y coseno.
Elaborar un algoritmo para calcular el promedio de calificaciones de un estudiante. Los datos disponibles para lectura son el nombre, calificación 1, calificación 2, calificación 3 y calificación 4 de cada uno de los cuatro exámenes presentados. La información que se debe imprimir es el nombre y el promedio de las calificaciones. El promedio se obtiene sumando las cuatro calificaciones y dividiendo la suma entre 4.
Hacer un algoritmo que obtenga e imprima el valor de Y a partir de la ecuación
Y = 3X² + 7X - 15
solicitando como dato de entrada el valor de X..
elabore un algoritmo que lea un número de pies y calcule e imprima su equivalente en yardas, pulgadas, centímetros y metros, de acuerdo con las siguientes
equivalencias: 1 pie = 12 pulgadas, 1 yarda = 3 pies, 1 pulgada = 2.54 cm, 1 metro = 100 cm
Elaborar un algoritmo que lea el radio(r) de una esfera, calcule e imprima el volumen y el área.
4πr al cubo
VOLUMEN = ─────── ÁREA = πr2
3
Free AI Website Creator