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

Universidad Nacional Abierta y a Distancia -

UNAD

Curso: 301305 Estructura de datos


Webconferencia 2 - Unidad 1
Tema: Clases y métodos
Hermes Mosquera Angulo
Febrero27 de 2020
Temática a tratar

Fundamentos de POO
Clases y Objetos
Identificar atributos y propiedades de
Métodos
La Abstracción
Identificar los requerimientos
Codificación de una aplicación con C#

Definiciones
La Programación Orientada a Objetos (POO) es un paradigma de programación. La Real
Academia de la Lengua Española (RAE), define como paradigma a:

"Una teoría conjunto de teorías cuyo núcleo central se acepta sin cuestionar y suministra la
base y modelo para resolver problemas y avanzar en el conocimiento."(RAE, 2015),

El paradigma de la programación orientada a objetos es una forma diferente de programar, un


modelo a seguir para solucionar problemas a través de la informática.
La POO tiene como su más importante característica la
reutilización del código

Por la misma razón, debe ser simple y resolver un


problema específico, es decir es necesario dividir un
problema en pequeños subproblemas los cuáles serán las
funcionalidades (métodos) del objeto.
La figura ilustra dos de las clases que pueden crearse en el
sistema de facturación, y en color azul se muestran los
cálculos que son las funcionalidades de la clase Detalle.
Por ejemplo, para un sistema de facturación se necesitará
crear una clase Detalle, y se creará un objeto detalle, que
deberá calcular el acumulado de las compras realizadas
(método CalcularSubtotal), calcular el descuento que se
aplica bajo ciertas condiciones (método
CalcularDescuento), calcular el impuesto que se aplica sobre las compras realizadas (método
CalcularImpuesto), calcular el total a pagar (método CalcularTotal).

También se ha señalado la clase Factura, que representa los datos de la factura atributos:
(nroFactura, CICliente, Fecha, entre otros)

Objeto
El mundo está constituido de objetos que interactúan entre sí, todo aquello que está en la
naturaleza es un objeto y cada uno está formado de otros objetos más pequeños.

Un objeto es un sustantivo en singular, si se recuerda que un sustantivo es aquello que existe:


una persona, animal, planta o cosa, entonces todo lo que se incluye en esta definición es un
objeto.

Ejemplo: un computador, un rectángulo, una persona, un libro, un carro, un perro, una factura,
una cuenta bancaria.
Identificar objetos concretos es relativamente sencillo, sin embargo, identificar objetos abstractos
requiere un poco de práctica e intuición como, por ejemplo, transacción de una cuenta bancaria, detalle
de una factura, que son objetos no tan evidentes, pero que son los que en la mayoría de casos serán
los objetos que deberán ser implementados en programas.

Atributos
Cada objeto tiene unas características que le identifican como tal, así:
A estas características se les denomina también propiedades y técnicamente se conocen
como ATRIBUTOS del objeto.

¿Qué son los Métodos?


Es la implementación de un algoritmo que representa una operación o función que un objeto
realiza. El conjunto de los métodos de un objeto determina el comportamiento del objeto.
Sobre los objetos es posible realizar acciones (operaciones, cálculos), para lo cual podría
utilizarse la pregunta, ¿Qué se puede hacer sobre el objeto X?
Las respuestas a esta interrogante facilitarán la identificación de las funcionalidades de los
objetos. Si se recuerda que un verbo es una palabra que denota acción, entonces las
funcionalidades se especificarán con verbos. Técnicamente se denominan MÉTODOS.
Los métodos contienen instrucciones para ejecutar al momento de ser invocados

Definición de un método
Acciones que puede realizar un Objeto

¿Qué son las Clases?


Las clases se utilizan para representar entidades o conceptos, como los sustantivos en el
lenguaje. Cada clase es un modelo que define un conjunto de variables -el estado, y métodos
apropiados para operar con dichos datos -el comportamiento. Cada objeto creado a partir de la
clase se denomina instancia de la clase. Las clases son un pilar fundamental de la programación
orientada a objetos.

Dado que pueden existir varios objetos del mismo tipo, con las mismas características y
funcionalidades, se crean las clases, que representan los modelos ideales de un objeto, una
plantilla a partir de la cual se pueden crear objetos que compartan esas características y
funcionalidades; así, tomando en cuenta algunos de los ejemplos de objetos mencionados
anteriormente, algunas clases serían: Clase Transacción, Clase Rectángulo, Clase Persona,
Clase Factura; esto significa que cada vez que se requiera una transacción se creará un objeto
basado en la plantilla Transacción; cuando se requiera un objeto rectángulo se creará a partir
de la plantilla Rectángulo; y así con cada uno de los objetos, siempre que se requiera un objeto
de un tipo específico con unas características y funcionalidades se deberá crear una plantilla
(clase) que será el modelo para todos los objetos de ese tipo. Luego cada objeto será
personalizado, al recibir valores para cada uno de los atributos especificados en su plantilla.
Otro ejemplo de clases

Declarar clases

La palabra clave class va precedida del nivel de acceso. Como en este caso se usa public,
cualquier usuario puede crear instancias de esta clase. El nombre de la clase sigue a la palabra
clave class. El resto de la definición es el cuerpo de la clase, donde se definen los datos y el
comportamiento. Los campos, las propiedades, los métodos y los eventos de una clase se
denominan de forma colectiva miembros de clase.
Crear objetos de la clase

Aunque a veces se usan indistintamente, una clase y un objeto son cosas diferentes. Una clase
define un tipo de objeto, pero no es un objeto en sí. Un objeto es una entidad concreta basada
en una clase y, a veces, se conoce como una instancia de una clase.

Los objetos se pueden crear usando la palabra clave new, seguida del nombre de la clase en
la que se basará el objeto, como en este ejemplo:

Otra definición de una clase utilizando un constructor

Diagrama de Clase
Un Diagrama de Clase es una representación gráfica de una clase, en el que se especifica el
nombre de la clase, sus atributos y métodos; básicamente es uno de los elementos de un
Diagrama de Clases en el que se muestran además las relaciones entre las clases.

Un Diagrama de Clase, facilita en gran manera las acciones al momento de implementar, para
a través de la observación reconocer la forma de acceso a cada uno de los elementos de la
clase, es el diagrama más sencillo que deberá realizarse al incursionar en la Programación
Orientada a Objetos.
El siguiente gráfico es una representación de un diagrama de clase.

Pilares de la POO
La POO tiene varios pilares para asegurar la simplicidad de código y su reutilización, y aunque
diversos autores señalan diversos pilares, en este documento se considerarán los cuatro que
son comunes en la mayoría de textos, estos son: Abstracción, Encapsulamiento, Herencia y
Polimorfismo, las dos primeras están más relacionadas con la búsqueda de códigos simples
y las dos siguientes con la reutilización.

Abstracción
Es el pilar de la POO, que permite identificar las características y comportamientos de un objeto
y con los cuales se construirá la clase (plantilla). Esto quiere decir que a través de este pilar o
fundamento es posible reconocer los atributos y métodos de un objeto.
La imagen muestra en texto de color negro algunas de las
características del objeto: color, tamaño, marca, son
características porque todos los controles pueden tenerlas y
cada objeto de este tipo tomará valores que le identifiquen; el
objeto de la imagen tiene los siguientes valores: color:
negro, tamaño: 15, marca: samsung

De igual forma, se identifican los comportamientos que en la


imagen aparecen como textos de color blanco

Fuente: http://www.utn.edu.ec/reduca/programacion/poo/clase.html
Planteamiento del problema

Codificar un programa en visual C# con Windows Forms, como aplicación a las clases
y métodos, que permita manejar los datos básicos del trabajador como son:
identificación, nombre completo, ingreso base de cotización (salario básico día), los
días laborados. Con estos datos calcular:
1. El salario devengado
2. El aporte a la seguridad social que es del 12% del salario devengado
3. El salario neto.
Requerimientos del programa:
Aplicación de Windows Forms
Implementación de una clase empleado
Implementar una clase a parte del formulario que contenga los métodos para los
cálculos salariales
Implementación de métodos uno para calcular el salario devengado, el aporte a la
seguridad social y otro para calcular el total neto.

Mostrar los datos en el formulario


Manos a la obra ……
Tabla 1. Elementos sugeridos para la identificación de requerimientos

Nombre del
estudiante
Planteamiento del problema: (texto completo del planteamiento)

Nombre Atributos y/o propiedades Métodos: Fórmulas


de la de la clase matemáticas a
Clase y Tipo de Nombre del Nombre, ámbito, tipo de aplicar en los
su ámbito dato atributo y/o retorno, argumentos métodos
y propiedad de la
visibilidad clase
Método 1.

Empleado string Identificación CalcularSalarioDevengado, es Devengado =


de de ámbito público, retorna un SalarioDia *
string NombreCompleto dato de tipo decimal, y recibe DiasLaborados
ámbito como parámetro el salario
Publico decimal SalarioBasicoDia básico día y los días
laborados.
int DíasLaborados AporteSS =
Método 2. Devengado *
12/100
CalcularAporteSS, es de
ámbito público, retorna un dato
de tipo decimal, y recibe como
parámetro el salario
devengado
SalariNto =
Método 3 Devengado –
AporteSS
CalcularSalarioNeto, es de
ámbito público, retorna un
dato de tipo decimal, y recibe
como parámetro el salario
devengado y el aporte a SS
Planteamiento del problema

La Secretaría de Rentas municipal, requiere una aplicación como apoyo al pago del
impuesto predial que permita informar a los usuarios dueños de predios el valor a
pagar por impuestos.
Requerimientos funcionales:
El valor del impuesto para la vigencia del año es del 6,5% del valor del avaluó
catastral del predio o inmueble.
El pago del impuesto puede realizarse de forma parcial por fracciones de periodos
de 3 meses, 6 meses o 12 meses.
El acuerdo de pago podrá ser diferido en pagos mensuales o todo el periodo de
vencimiento.
Se creará una clase llamada RecaudoImpuesto la cual tendrá como propiedades los
mismos campos del formulario (El código catastral, el nombre completo del cliente,
el avalúo comercial del inmueble o predio, el periodo a pagar en meses, (ya sea de
3, 6 o 12 meses), la fecha del día la cual será tomada del sistema, la fecha de
proyección del pago, es decir, la fecha que proyecta pagar acode con el periodo que
vaya a pagar, esta fecha también será calculada por el sistema), y el pago del
impuesto y la forma d pago que podrá ser (mensual o al vencimiento del periodo
elegido).
En la misma clase se crearán los métodos para calcular l valor del impuesto y el
valor a pagar según el periodo a liquidar y la forma que se hará el pago.
La aplicación debe contar con una interfaz gráfica inicial que al ejecutar la aplicación
muestre el nombre completo del autor de la aplicación, el nombre de la aplicación,
un nivel de seguridad básico solo con una contraseña de acceso genérica que será:
123, la cual está enmascarada, para que no se vea la contraseña al digitarla en el
formulario, “no incluir nombres de usuario”. Al digitar la contraseña correcta lo
llevará al siguiente formulario que permitirá el ingreso de los datos solicitados como
son: El código catastral, el nombre completo del cliente, el avalúo comercial del
inmueble o predio, el periodo a pagar en meses, (ya sea de 3, 6 o 12 meses), la
fecha del día la cual será tomada del sistema, la fecha de proyección del pago, es
decir, la fecha que proyecta pagar acode con el periodo que vaya a pagar, esta fecha
también será calculada por el sistema), y el pago del impuesto que podrá ser
(mensual o al vencimiento del periodo elegido).
El formulario de ingreso de datos tendrá tres botones (Nuevo, Calcular y Salir), al
dar clic en el botón Nuevo se limpian las cajas de texto quedando listo para una
nueva consulta y al dar clic en el botón salir, se pedirá al usuario que confirme si
realmente quiere salir de la aplicación.
Al dar clic en el botón Calcular mostrará en el mismo o en un nuevo formulario todos
los datos almacenados previamente en la clase incluyendo los cálculos solicitados
del rendimiento.
Se requiere aplicar filtros para el ingreso de datos en el formulario, todos los datos
son obligatorios, es decir que no permita dejar campos en blanco y si es un dato
numérico no permita ingresar caracteres o letras.

Tabla de abstracción

Nombre del
estudiante
Planteamiento del problema: (texto completo del planteamiento)

Nombre de la Atributos y/o propiedades Métodos: Fórmulas


Clase y su ámbito de la clase matemáticas a
y visibilidad Tipo de Nombre del Nombre, ámbito, tipo de aplicar en los
dato atributo y/o retorno, argumentos métodos
propiedad de la
clase
Método 1.

RecaudoImpuesto string CodioCatastral CalcularImpuesto, es de ValorImpuesto =


ámbito público, retorna (avaluo *
ámbito Publico string NombreCompleto un dato de tipo decimal, 0.065m);
y recibe como parámetro
decimal Avaluo el avaluo.

int Periodo Método 2. Si la


formadePago es
string FormaDePago Calculardscuento, es de Mensual, el
ámbito público, retorna ValorApagar =
decimal ValorImpuesto un dato de tipo decimal, Avaluo * 0.065m
y recibe como parámetro / Periodo
string FechaHoy
string FechaProyectada la formadePago, el Si la formaPago
Avalúo, y el Periodo) es al
vencimiento, el
ValorApagar =
Avaluo * 0.065m

También podría gustarte