Vous êtes sur la page 1sur 25

ACTIVIDAD NRO 1

CLASES Y
FORMULARIOS EN C#
Herramientas de programación III

POR: Javier Saldarriaga Cano


ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 1 de 24
Por: Javier Saldarriaga Cano

FUNDAMENTOS DE PROGRAMACIÓN ORIENTADA A


OBJETOS CON C#

OBJETIVO: desarrollo de un proyecto en el cual se aplican los conceptos


fundamentales de la programación por objetos.

Introducción
La programación Orientada a objetos (POO, u OOP según sus siglas en inglés) es una
técnica especial de programación, la podemos considerar como la mejor forma de
representar y manejar las cosas de la vida real bajo un lenguaje de programación, lo cual
sería difícil o complejo de manejar bajo otros modelos de programación.

La (POO) es un paradigma de programación que usa objetos en sus interacciones, para


diseñar e implementar programas computacionales. Los paradigmas son estilos para el
desarrollo de programas, es decir, un modelo para resolver problemas computacionales.
Los lenguajes de programación siempre están enmarcados en uno o varios paradigmas.

La POO nos exige aprender a programar y a pensar las cosas de una forma distinta, muy
diferente a la programación estructurada porque ya debemos desarrollar nuestros
programas en términos de objetos, propiedades, métodos y otras cosas que veremos en el
transcurso de esta lección.

Hoy en día la programación orientada a objetos es una de las formas más difundidas de
programación y a nivel empresarial tiene una gran acogida en el desarrollo de proyectos de
software. Esta acogida se debe a sus grandes capacidades y ventajas frente a las antiguas
formas de programar. Este modelo de programación ofrece una mayor productividad del
programador, mejor calidad de software y menor costo de mantenimiento.

Algunas de las ventajas que se tienen con un lenguaje orientado a objetos son:

 Permite la reutilización de código, debido a que los objetos se pueden usar en


distintas partes del programa y en numeroso proyecto.
 Facilita el desarrollo sistemas informáticos más complejos.
 Agiliza el proceso en el desarrollo de software.
 Facilita el trabajo en equipo.
 Facilita el mantenimiento del software, los programas orientados a objetos son más
sencillos de leer y comprender, pues nos permiten ocultar detalles de
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 2 de 24
Por: Javier Saldarriaga Cano

implementación dejando visibles sólo aquellos detalles más relevantes.


 Permite representar en mejor forma el mundo real.
 Facilidad de modificar. La facilidad de crear, eliminar o modificar nuevos objetos nos
permite hacer ajustes de una forma más sencilla.

Los objetos
Pensar en función de objetos es muy parecido a cómo percibimos el mundo real. Entender
lo que es un objeto en programación es la clave para entender cualquier lenguaje
orientado a objetos.
Existe una gran diversidad de escritos sobre las definiciones de lo que es un objeto. Pero
iniciemos entendiendo que es un objeto del mundo real. Un objeto del mundo real es
cualquier cosa que vemos a nuestro alrededor. Digamos que para movilizarnos lo hacemos
a través del automóvil o una bicicleta, ambos son objetos, al igual que nuestro computador,
el teléfono celular, un animal o una silla.
Interioricemos un poco más a un objeto del mundo real, como lo es el auto. No
necesitamos ser un mecánico automotriz para saber que está compuesto internamente por
varios componentes: El motor, el chasis, las llantas, parabrisas, y otras partes más. El
trabajo en conjunto de todos estos componentes hace que funcione el automóvil.
En su interior, cada uno de estos elementos pueden ser bastante complicados y puede ser
desarrollados por diversas empresas con diversos métodos de diseño. Pero para para
entender la funcionalidad del auto no necesitamos saber cómo funciona cada uno de estos
elementos, no necesitamos saber cómo funciona la caja de cambios, o cómo funciona
internamente el motor. Cada elemento es una unidad independiente y autónoma, y todo lo
que necesitamos saber de adentro es cómo se relacionan o interactúan entre sí los
componentes, saber por ejemplo si el motor y la caja de cambios son compatibles con el
chasis utilizado, o conocer donde se coloca la caja de cambios. Cuando tenemos todos los
componentes y logramos conocer como se interaccionan , podríamos armar un automóvil.
La programación orientada a objetos funciona de igual forma como se expresó en el ejemplo
anterior, Todo el programa está construido en base a diferentes elementos (objetos), cada
uno de estos tiene una función específica en el programa y cada uno de
los elementos puede comunicarse y relacionarse entre ellos.
Es muy importante tener en cuenta que todos los elementos del mundo real tienen dos
componentes que los identifican, el primero de ellos comprende las características del
objeto y el segundo el comportamiento de este, por ejemplo un automóvil posee:
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 3 de 24
Por: Javier Saldarriaga Cano

CARACTERÍSTICAS COMPORTAMIENTOS
● Marca ● Acelerar
● Modelo ● Frenar
● Color ● Retroceder
● Velocidad alcanzada ● Girar
● costo ● Cambiar llantas
Al igual que en el mundo real, los objetos en los programas tienen unas características y
unos comportamientos, Un objeto de software almacena sus características en una o más
"variables", y sus comportamientos son definidos a través de lo que denominamos
"métodos". Un método básicamente es una función o subrutina asociada a un objeto.

De acuerdo a lo visto hasta el momento podemos definir que un objeto es una


unidad de código compuesto de variables y métodos relacionados.

Es de aclarar que los métodos y los atributos se pueden compartir o se pueden restringir
para ser accedidos desde afuera, esto dependiendo de la estructura que planteamos en su
construcción. Por lo general los atributos siempre se ocultan al exterior y algunos métodos
quedan expuestos al exterior para convertirse en la interfaz del objeto. A este ocultamiento
de sus métodos y atributos se le denomina “Encapsulamiento”.

Estados de un Objeto: los objetos poseen estados y estos se dan cuando se le ponen
valores a las características del objeto, las variables definidas como características de un
objeto son las encargadas de almacenar los estados del objeto en un determinado
momento.
Los objetos en la programación no son elementos “eternos”, es decir es necesario que estos
sean creados, técnicamente a esta creación se le llama Instanciar y también se destruyen
cuando han cumplido su misión.. Una vez que se ha creado(instanciado) un objeto
puede recibir mensajes.
Como la primera tarea que nos enfrentamos al desarrollar un programa bajo el paradigma
de Programación orientada a objetos es la identificación de los objetos que hacen parte del
problema que deseamos solucionar, para esto debemos tener en cuenta que los objetos
los podemos identificar de acuerdo a las siguientes categorías:

● Cosas Tangibles: carro, casa, producto, juguete, computador.


● Roles : cliente, empleado, Jefe, vendedor, auxiliar,
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 4 de 24
Por: Javier Saldarriaga Cano

● Organizaciones o entidades: Universidad, colegio, empresa, proveedor, hospital.


● Cosas intangibles: Vuelos, Materias, cursos, Servicios.

Definición de clase
Las clases son un pilar fundamental de la programación orientada a objetos. Las clases son
las plantillas para hacer objetos. Una clase sirve para definir una serie de objetos con
propiedades (atributos), comportamientos (operaciones o métodos), y semántica comunes.
Hay que pensar en una clase como un molde. A través de las clases se obtienen los objetos
en sí, Es decir antes de poder utilizar un objeto se debe definir la clase a la que pertenece,
esa definición incluye:

SUS ATRIBUTOS. Es decir, los datos miembros de esa clase. Los datos pueden ser
accesibles desde otra clase (públicos) o sólo se pueden acceder desde el código de su
propia clase(privados). También se las llama campos.
MÉTODOS: Las funciones miembros de la clase. Son las operaciones o las acciones que
puede realizar la clase.

CÓDIGO DE INICIALIZACIÓN: Son las operaciones previas necesarias para crear una
clase a esto se le conoce como el constructor de la clase.
OTRAS CLASES Dentro de una clase se pueden definir otras clases.

Cuando programamos un objeto y definimos sus características y


funcionalidades en realidad lo que estamos haciendo es programar una clase

La siguiente imagen es la representación gráfica de una clase que se llama carro, a esta
representación se le denomina diagrama de clase y ayuda al programador a visualizar
cuales son las propiedades y métodos que contendrá una clase o conjunto de clases en
particular
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 5 de 24
Por: Javier Saldarriaga Cano

Los objetos son hijos de una clase cualquiera. Cuando creamos un objeto tenemos que
especificar la clase a partir de la cual se creará. Recuerde que la acción de crear un objeto
a partir de una clase se llama instanciar. Para crear un objeto se tiene que digitar una
instrucción especial que puede ser distinta dependiendo del lenguaje de programación que
se emplee, pero será algo parecido a la siguiente instrucción:
Automóvil miautomovil = new automovil()
Con la palabra new especificamos que se tiene que crear una instancia de la clase que se
nombra a continuación. Dentro de los paréntesis podríamos colocar parámetros con los
que inicializar el objeto de la clase automóvil.
En el ejemplo anterior al objeto “miautomovil” podemos leer o asignar valores a sus
propiedades. El valor concreto de una propiedad de un objeto se llama estado, para acceder
a un estado de un objeto y ver su valor o para cambiarlo se utiliza el nombre del objeto y el
operador punto.
Miautomovil.color=Azul
El objeto es Miautomovil, posteriormente le colocamos el operador punto y por último el
nombre de la propiedad a la que deseamos conocer. En el ejemplo estamos modificando el
valor del estado de la propiedad del objeto al valor de ”Azul” con una simple asignación.
Un mensaje en un objeto es la acción de efectuar una llamada a un método particular. Por
ejemplo, cuando le indicamos a un objeto Miautomovil que se ponga en movimiento
estamos pasándole el mensaje “”Muevete”, Para mandar mensajes a los objetos utilizamos
el operador punto, seguido del método que deseamos invocar.
Miautomovil.muevete()
En este ejemplo pasamos el mensaje muevete(). Hay que colocar paréntesis igual que
cualquier llamada a una función, dentro irían los parámetros que este requiere para su
funcionamiento.
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 6 de 24
Por: Javier Saldarriaga Cano

Podemos concluir que: una instancia es un objeto de una clase en particular, los
objetos y las instancias son ambas representación de una clase.

Si ya logramos entender lo son las clases y objetos, atributos y estados, métodos y


mensajes, ahora podemos ampliar la información sobre otros conceptos de gran
importancia en la POO.

La herencia
La Herencia es uno de los cuatro conceptos que son claves de la programación orientada
a objetos (POO) junto con la Abstracción, Encapsulación y Polimorfismo. La herencia
básicamente consiste en que una clase puede heredar sus variables y métodos a varias
subclases. La clase que hereda es llamada superclase o clase padre, esto significa que una
subclase, aparte de los atributos y métodos propios, tiene incorporados los atributos y
métodos heredados de la superclase. De esta manera se crea una jerarquía de herencia.

La Jerarquía es un proceso por el cual se crean estructuras de elementos en distintos


niveles. No es un concepto exclusivo de la POO, sino que es algo que vemos en la vida
real en muchos ámbitos, algo propio a cualquier tipo de sistema. Puedo tener diversos tipos
de jerarquías, como clasificación o composición.
● Composición: Es cuando unos elementos están compuestos de otros, o que unos
elementos están presentes en otros, podemos tomar como ejemplo el sistema
respiratorio, en este tenemos los pulmones los cuales están dentro del sistema
respiratorio, dentro de los pulmones tenemos los alvéolos y bronquios. En esta
jerarquía de elementos tenemos composición debido a que unos elementos forman
parte de otros.
● Clasificación: Este tipo de jerarquía indica que unos elementos son una
especialización de otros. Por ejemplo, los medios de transporte, en donde tenemos
terrestre, aéreo y acuáticos luego dentro de los terrestres tenemos los trenes, autos,
motos, bicicletas etc en los aéreos tenemos aviones, helicópteros, cohetes y en los
acuáticos los barcos, submarinos etc.

La herencia es la transmisión del código desde unas clases a otras. Para soportar un
mecanismo de herencia como vimos se deben tener dos clases: la clase padre y las clases
hijas o una sola hija. La clase padre es la que transmite su código a las clases hijas. De
igual forma que los humanos heredamos el código genético de nuestros padres,
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 7 de 24
Por: Javier Saldarriaga Cano

Esto nos indica que todo el código de la clase padre se transmite, tal cual, a la clase hija.
Es como tener escrito línea a línea el código de la class " Padre" dentro de la class " Hija".
Esto nos evita tener que digitar de nuevo todo el contenido del código del padre dentro de
la clases hijas, Es por Esto que la herencia es fundamental para reutilizar código, porque
no necesitas volver a incorporar el código de una clase superior a una inferior, sino que al
utilizar el "extends" se inserta automáticamente el código en las hijas.
Para tener más claro este concepto analicemos la selección de futbol de Colombia en
función de la Programación Orientada a Objetos.
Para simular el comportamiento de una selección se definen tres clases que luego van a
representaran a los objetos Futbolista, Entrenador y Masajista. A cada uno de ellos les
definimos algunos datos los cuales los relacionamos en los atributos y un conjunto de
acciones las cuales reflejaremos en sus métodos. Estos métodos y atributos los
presentamos en el siguiente diagrama denominado de clases:
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 8 de 24
Por: Javier Saldarriaga Cano

Por ejemplo la clase futbolista tiene unos atributos como son el nombre, los apellidos ,la
edad , el dorsal y la demarcación y tiene unos métodos como son Concentrarse(), Viajar(),
Jugarpartido() y entrenar(). Así mismo la clase entrenador y la clase masajista tienen sus
métodos y atributos.
Si se observa en detalle, encontramos que en las tres clases hay atributos y métodos que
son iguales ya que los tres tienen los atributos id, Nombre, Apellidos y Edad; y los tres
tienen los métodos de Viajar y Concentrarse:

Con el fin de no repetir código con estos elementos que son comunes en cada clase
optamos por crear una clase padre con los elementos que son comunes, por tanto esta será
nuestra "Clase Padre o SuperClase" y a cual le asignaremos el nombre de
”SeleccionFutbol”, a su vez el código que es especifico de cada clase, lo dejaremos en ella,
siendo denominadas estas clases como "Clases Hijas", las cuales heredaran de la clase
padre SeleccionFutbol” todos los atributos y métodos públicos o protegidos. La
representación de esta abstracción se muestra en el siguiente diagrama de clases:
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 9 de 24
Por: Javier Saldarriaga Cano

Es muy importante decir que las clases hijas no van a heredar nunca los
atributos y métodos privados de la clase padre.

Abstracción
Es un proceso mental por el que se ignoran las características de algo, quedándonos
con lo que realmente nos importa. La clave para entenderlo es "proceso mental", así que
nos tenemos que poner a pensar, extrayendo aquello que realmente nos importa e
ignorando lo superfluo. (Fernández Muñoz & Alvarez, 2015)
Debido a la gran cantidad de información que manejamos los seres humanos nuestro
cerebro está constantemente realizando una abstracción del mundo que nos rodea,
sacando lo que verdaderamente nos interesa, sin esto, nuestro cerebro simplemente
colapsaría. Por ejemplo, al tomar el metro único que nos interesa es la ruta, el costo del
tiquete y el tiempo en desplazamiento, pero hay cosas que omitimos las cuales no nos
interesa cómo quien conduce, cual es el costo del vagón, que potencia tiene, años que lleva
funcionando etc.
Pero debemos aclarar que la abstracción es un proceso subjetivo. O sea que depende del
punto de vista del observador, por ejemplo el mecánico del metro realizará otro tipo de
abstracción seleccionando los detalles que por su profesión le interesan.

La abstracción consiste en captar las características esenciales de un objeto, así


como su comportamiento.
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 10 de 24
Por: Javier Saldarriaga Cano

Encapsulación
También conocida como ocultamiento, este es el proceso por el cual se oculta el
funcionamiento y la estructura interna de los objetos, es como tener una caja negra en la
cual no conozco su parte internan solo puedo acceder a lo que se me autoriza ver. Cuando
encapsulamos estamos ocultando cómo se soporta algo, como se almacena, qué medio
es, cuál es su nombre, etc
El encapsulamiento se logra gracias a la abstracción. La abstracción y la encapsulación no
son lo mismo, pero si están relacionadas porque sin encapsulación no hay abstracción. La
utilidad del encapsulamiento se da por la facilidad para manejar la complejidad, ya que
tendremos las Clases como cajas negras donde sólo se conoce el comportamiento pero
no los detalles internos, y esto es importante porque nos interesará conocer que hace la
Clase pero no será necesario saber cómo lo hace.
Un ejemplo de encapsulación lo encontramos con nuestro televisor, el usuario conoce su
apariencia y parte de su funcionamiento. Sólo le importa que funcionen el control remoto,
el video y que se escuche; no le interesa saber cómo funciona cada una de las partes
internas del aparato, ese detalle sólo le interesan al fabricante y al técnico de servicio.
La encapsulación da lugar a que las clases se dividan en dos partes:
Interfaz: son funciones definidas específicamente para modificar los atributos y evitar así
que el usuario los modifique directamente, con estas interfaces se garantiza la integridad
de los datos
Implementación: Comprende la representación de la abstracción, así como los mecanismos
que conducen al comportamiento deseado.
La encapsulación permite definir los niveles de acceso para elementos de esa clase. Estos
niveles de acceso definen los derechos de acceso para los datos, permitiéndonos el acceso
a datos a través de un método de esa clase en particular, desde una clase heredada o
incluso desde cualquier otra clase. Los siguientes son los niveles de acceso que se pueden
definir en una clase
Público: funciones de toda clase pueden acceder a los datos o métodos de una clase que
se define con el nivel de acceso público. Este es el nivel de protección de datos más bajo.
Protegido: el acceso a los datos está restringido a las funciones de clases heredadas, es
decir, las funciones miembro de esa clase y todas las subclases.
Privado: el acceso a los datos está restringido a los métodos de esa clase en particular.
Este es nivel más alto de protección de datos.
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 11 de 24
Por: Javier Saldarriaga Cano

Taller de practica con objetos


El presente taller busca realizar un repaso en el desarrollo de aplicaciones utilizando
objetos,se presenta un ejemplo básico inicial y posteriormente se plantea que el alumno
desarrolle un ejercicio en el que se utilicen objetos.

Requisitos

En fundamental que se encuentre instalado en su equipo el IDE de visual estudio, en caso


de no tenerlo se recomienda su descarga desde la página oficial de Microsoft en la siguiente
ruta:
https://visualstudio.microsoft.com/es/downloads/?rr=https%3A%2F%2Fwww.youtube.com
%2F
Instalar la versión “Comunidad”

Video de apoyo para instalar visual studio:


https://www.youtube.com/watch?time_continue=1&v=3FWOhdZX5Rg

CREACIÓN DE LA CLASE PERSONA

Se creará inicialmente una clase llamada persona esta clase tiene las siguientes
características.
Nombre de la clase: Persona
ATRIBUTOS DE LA CLASE
Públicos: Nombre, edad,sexo
Privados: día Nacimiento, mes Nacimiento, año Nacimiento
Constructores:
Persona()
Inicializamos en el constructor los valores de los atributos privados con los
siguientes valores
año Nacimiento = 1900;
día Nacimiento = 1;
mes Nacimiento = 1
Sobrecarga del constructor
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 12 de 24
Por: Javier Saldarriaga Cano

Persona() -> con parámetros: nombre y edad


Persona() -> con parámetros: nombre, edad, año nacimiento, día nacimiento, mes
nacimiento

MÉTODOS DE LA CLASE Persona


Desarrollaremos los siguientes métodos de la clase persona
calcula_edad() -> calcula la edad restando el año de nacimiento del año actual
Caminar() -> Mostramos mensaje que indique caminar
Correr()-> Mostramos mensaje que indique Correr
Saltar() -> Mostramos mensaje que indique Saltar y sobrecargamos el método recibiendo
el parámetro de altura

Para el desarrollo de la clase persona realizamos los siguientes pasos:


Creamos r un proyecto nuevo de consola denominado “Objeto_persona”
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 13 de 24
Por: Javier Saldarriaga Cano

Una vez se ha creado el proyecto procedemos a crear una nueva clase llamada Persona()
Para adicionar una clase seleccionamos en el menú la opción Proyecto y en este
seleccionar “Agregar Clase”

La clase la nombramos “Persona” y la hacemos publica

CÓDIGO DE INICIO
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Objeto_persona
{
public class Persona
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 14 de 24
Por: Javier Saldarriaga Cano

}
}

Creamos los atributos de la clase

Las propiedades privadas las exponemos para que sean accedidas desde el exterior de la
clase, para esto definimos la propiedad que se va a exponer y luego internamente
utilizamos la sentencia get y set , con la sentencia get podremos leer el valor que tiene
asignada en la propiedad y con set le podremos asignar un valor a la propiedad o aplicamos
el siguiente código muestra dos formas de exponer una propiedad privada:

La definición de la propiedad mes de nacimiento tiene una característica especial y es que


en esta implementamos una validación del valor del mes , esto con el fin de o ingresarle
valores errado, como por ejemplo mes 13.
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 15 de 24
Por: Javier Saldarriaga Cano

Recordemos que para crear una clase es necesario inicializarlo en la cual se realizan
operaciones previas necesarias para crear una clase a esto se le conoce como el
constructor de la clase. El constructor es un método(función) que tiene el mismo nombre
de la clase.

Procedemos a crear el constructor y asignamos los valores con los que se inicializa

Sobrecargamos el constructor, esto quiere decir que podemos tener varios constructores
los cuales manejan diversos parámetros de entrada.
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 16 de 24
Por: Javier Saldarriaga Cano

Creamos los métodos de la clase, recuerda que un método básicamente es un


comportamiento, una función o subrutina asociada a un objeto

Con esto tenemos creada nuestra clase Persona. y procedemos en el programa principal
a crear la clase y a instanciar objetos para utilizar todas sus propiedades y funcionalidades.
Procedemos a seleccionar en el explorador de soluciones el programa principal (“program”).
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 17 de 24
Por: Javier Saldarriaga Cano

En el método Main() creamos varios objetos persona y utilizamos sus propiedades y


métodos:

static void Main(string[] args) // método estatico, se crea independiente del


objeto
{
Persona Persona1 = new Persona(); // creamos el objeto Persona1 a
partir de la clase Persona
Persona1.Nombre = "javier";
Persona1.Edad = 12;

// mostramos en pantalla las propiedades asignadas a los objetos


personas
Console.WriteLine($"mi nombre1 es {Persona1.Nombre} y tengo {
Persona1.Edad} años");

Persona persona2 = new Persona // creamos otro objeto Persona2 a


partir de la clase Persona
{
Nombre = "Rosmi",
Edad=44
};

Console.WriteLine($"mi nombre2 es {persona2.Nombre} y tengo {


persona2.Edad} años");
Console.ReadKey();

Console.WriteLine("____________________________________________________________");
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 18 de 24
Por: Javier Saldarriaga Cano

// invocamos los métodos


Persona1.Caminar();
Persona1.Correr();
Persona1.Saltar();
Persona1.Saltar(10);
Console.ReadKey();

Console.WriteLine("____________________________________________________________");
// creamos un nuevo objeto
Persona persona3 = new Persona("Juliana", 34);
persona3.añoNacimiento = 1996;

Console.WriteLine(persona3.Nombre + " tiene : " +


persona3.calcula_edad() + " Años");

Console.WriteLine($"mi nombre3 es {persona3.Nombre} y tengo {


persona3.Edad} años");
Console.ReadKey();

Console.WriteLine("____________________________________________________________");

ENTREGA DEL PROYECTO CONMANEJO DE OBJETOS

Se recomienda crear en tu PC una carpeta especialmente para contener los trabajos


realizados en la materia, esta carpeta se puede llamar “HERRAMIENTAS III”, y dentro de
esta se crearan cada uno de los proyectos de las practicas que realizaremos, por ejemplo
para este primer proyecto lo llamaremos “actividad_1_POO”

Se deberá enviar a classrooon el proyecto de lo explicado en este documento con la


implementación de la clase persona.
Para enviar la actividad primero deberá comprimir en Archivo ZIP la carpeta de esta primera
Actividad “actividad_1_POO” ,El archivo será entregado en Classroom EN TRABAJOS DE
CLASE en la tarea Actividad 1-Practica de objetos.

Si lo deseas puedes cambiar este proyecto inicial de objetos explicado anteriormente, por
este otro que se explica en el siguiente video:
Manejo de Clases, objetos y metodos en C# con Windows Forms:
https://www.youtube.com/watch?v=YxsdGjhe8kI
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 19 de 24
Por: Javier Saldarriaga Cano

REFERENCIAS Y FUENTES DEL CÓDIGO PARA CONSULTAR Y SABER MAS.


En los siguientes links encontraras los videos de apoyo que complementan el manejo de
objetos estudiado hasta el momento
C# Orientada a objetos | #0 - Introducción. ¿Qué es una clase? ¿Qué es un objeto?
https://www.youtube.com/watch?v=C95ca4nJHGs&t=278s

C# Orientada a objetos | #1 - Métodos de clase (no estáticos). La palabra clave this.


https://www.youtube.com/watch?v=3Lm9AXbCtOQ

C# Orientada a objetos | #2 - Constructores. Creando objetos consistentes.


https://www.youtube.com/watch?v=vExECryhgH0

C# Orientada a objetos | #3 - Propiedades. Descriptores de acceso get; set; Value y return.


https://www.youtube.com/watch?v=64SO8oQxDsw
y puedes ver los videos adicionales que se presentan en este curso
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 20 de 24
Por: Javier Saldarriaga Cano

MANEJO DE FORMULARIOS EN C#

DESARROLLO DE PROYECTO CON FORMULARIOS

OBJETIVO: Desarrollo de un proyecto en el cual se aplica el manejo y diseño de


formularios en C#. se diseñarán los formularios para un proyecto de Facturación el
cual se describe en el presente documento. Este proyecto será la base de trabajo
que realizaremos durante el semestre.

Introducción

Para Esta primera unidad se realizara la implementación de un nuevo proyecto en C# el


cual denominaremos “Facturación” en el proyecto se crearan una serie de formularios los
cuales serán utilizados para la implementación de funcionalidades en futuras actividades.
Básicamente tendremos una plantilla de trabajo sobre la cual realizaremos la construcción
de un aplicativo más avanzado.

Estándar de programación

Para la realización de todas las actividades del presente curso, es necesario que te se
familiarices con los estándares de programación que se aplican para el desarrollo de
aplicaciones en C#. para esto comparto un documento que es necesario leer para conocer
la metodología propuesta para crear código y nombrar los elementos gráficos utilizados en
los formularios, inicialmente recomiendo leer y guardarlo como documento de referencia:
https://drive.google.com/file/d/1jrTn82S17KwZY_SM9o6OSiWcvH3l4fzk/view?usp=sharing

En la siguiente ruta se encuentra un documento adicional para quienes desean profundizar


en el tema y disponer de material de consulta en estándares de codificación:
https://es.calameo.com/read/00443793525640a944420
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 21 de 24
Por: Javier Saldarriaga Cano

Estructura de los formularios

El siguiente gráfico presenta una estructura básica del proyecto, en esta se describen los
diferentes formularios que inicialmente implementaremos.

FrmLogin

Será el formulario de inicio del aplicativo, contendrá la validación de ingreso al sistema de


facturación, la pantalla deberá semejante a la siguiente:

Al presionar validar el sistema verificará el usuario y clave contra valores fijos en el código
, por ejemplo valida que el usuario sea “javier” y la clave “1234”, y si cumple mostrará la
pantalla “FRM_MDI_PRINCIPAL” si no cumple mostrara un mensaje de “usuario clave
errada”

Al presionar “SALIR” cierra el aplicativo

El siguiente video presenta una explicación básica de cómo validar el formulario:

https://www.youtube.com/watch?v=tGnZmoPtjDo
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 22 de 24
Por: Javier Saldarriaga Cano

Para cerrar la ventana de login y activar el formulario MDI ver el video:

YouTube(2013),7.- PROGRAMAR C#, UN LOGIN OCULTAR FORM Y ABRIR FORM,


recuperado de https://www.youtube.com/watch?v=mRHgXfHu5zA

FRM_MDI_PRINCIPAL

Este es el formulario central del aplicativo, es un formulario MDI, osea que es un contenedor
de otros formularios, este no contiene botones, sólo contiene el menú en la parte superior
y presenta una imagen de fondo, el siguiente es un ejemplo de este formulario.

Opciones de Menú

Archivo: solo contiene Salir, que permite cerrar el aplicativo

Admin Tablas: Permite acceder a los formularios de frmClientes, frmProductos y


frmEmpleados.

Seguridad: facilitara el acceso al formulario frmSeguridad.

Acerca de: formulario con información básica de la versión , desarrollador, fecha de


creación.

Para creación y manejo de opciones de menú con formularios MDI recomiendo ver el
siguiente Video:

89 - Creando un Formulario MDI (C#),, recuperado de:


https://www.youtube.com/watch?v=brnfJ2xIg34&t=42s
ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 23 de 24
Por: Javier Saldarriaga Cano

Campos de los formularios

Para las opciones que se invocan desde las opciones de menú se crearan los siguientes
formularios: frmClientes, frmProductos y frmEmpleados y frmSeguridad, en la siguiente
tabla se detallan los campos sugeridos para la creación de cada uno de los formularios
definidos para esta primera práctica.

FRMCLIENTES FRMPRODUCT
FRMSEGURIDAD FRMEMPLEADO O
Código Empleado Código Cliente
Código Empleado Código Producto
Nombre Nombre
Usuario Nombre
Documento Documento
Clave Precio Compra
Sexo Dirección
Teléfono Precio Venta
Escolaridad
Email Categoría
Fecha nacimiento
Fecha Registro Detalle
Dirección
Perfil Foto Producto
Teléfono Tipo(empresa- Cantidad Stock
Email persona)
Cargo
Datos adicionales
Fecha Ingreso
Fecha Retiro

Ejemplo de diseño de pantalla:


ACTIVIDAD NRO 1
2018-08
Herramientas de programación III Página: 24 de 24
Por: Javier Saldarriaga Cano

ENTREGA DEL PROYECTO DE FACTURACIÓN

Se recomienda crear el proyecto con el nombre “Actividad2_Formularios” y para enviar la


actividad primero deberá comprimir el proyecto y este archivo será entregado en Classroom
EN TRABAJOS DE CLASE en la tarea Actividad 2-Creación de Formularios.