Sie sind auf Seite 1von 13

UNIVERSIDAD NACIONAL AUTNOMA DE MXICO

FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
La Programacin Orientada a Objetos

Los lenguajes de programacin siempre se han diseado en torno a dos conceptos fundamentales:
los datos y el cdigo que opera sobre ellos. Anteriormente los lenguajes de programacin estaban
construidos en base a procedimientos, es decir bloques de cdigo que trabajaban con un conjunto
de variables independientes definidas en el programa. La programacin procedural permita que
todos los procedimientos pudieran verse entre s y que las variables pudieran ser manipuladas
desde cualquier parte del cdigo.

En los aos 90 surgi un nuevo enfoque de programacin en el cual se expresaban las ideas por
medio de objetos, una visin que era ms aproximada a la realidad humana.

El desarrollo de software orientado a objetos tiene dos claras ventajas sobre el desarrollo de
software procedural : La primera ventaja es que se puede especificar lo que debe hacer el software
y cmo lo har usando un vocabulario familiar a los usuarios. El software se estructura usando
objetos. Estos objetos pertenecen a clases con las que el usuario final est familiarizado.
Esto reduce el trabajo y facilita la comunicacin con la gente ajena al software y que est
interesada en el producto final.
La segunda ventaja es que ahora se pueden tener mbitos de nivel de clases que permiten ocultar
variables.

Definiciones bsicas de la Programacin Orientada a Objetos:

Una clase es una coleccin de mtodos y variables. Las clases gestionan el estado en forma de
variables y el comportamiento en forma de mtodos.

Los objetos son entidades que tienen un conjunto de valores definidos (el estado del objeto) y un
conjunto de operaciones (mtodos) sobre ese objeto (los comportamientos del objeto). Los objetos
se construyen usando una clase como plantilla.

Abstraccin. La abstraccin es el proceso de modelar los elementos necesarios para representar


un mbito de la vida real. En este proceso se deben identificar todos los aspectos importantes de
un entorno de acuerdo con lo que se desea representar en el programa. Por ejemplo si deseamos
modelar una clase persona puede tener muchos estados: nombre, nacionalidad, direccin,
telfono, edad, estudios,,etc. sin embargo para resolver un problema slo nos interesa saber su
nombre, edad y telfono.

Encapsulacion.Mediante la encapsulacin los datos se ocultan o se encapsulan dentro de una


clase y la clase implementa un diseo que permite que otras partes tengan acceso a los datos de
forma eficiente.

Para determinar la visibilidad de una clase, sus variables y sus mtodos utilizamos alguno de los
siguientes modificadores:

public: La clase, o el miembro (variable o mtodo), es visible en todos los mbitos. Las clases
pblicas pueden usarse desde mbitos con nombres externos al propio. Lo miembros pblicos de
una clase son accesibles, al crear un objeto, desde fuera de la propia clase.

protected: Este modificador slo es aplicable a miembros de una clase. Un miembro protegido no
es accesible externamente. Las variables protegidas son accesibles desde el interior de sus clases
derivadas, pero no son accesibles desde el exterior

Practica18. POO conceptos bsicos. Formularios I


Pgina | 1
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
private: Es el mbito ms reducido. Una clase privada slo puede utilizarse en el interior de un
namespace no se puede ver desde otro namespace. Y los miembros de una clase slo pueden
verse desde el interior de la clase nunca desde fuera, incluyendo clases derivadas

internal: Es similar a public. Esta clase o miembros de clase es visible desde fuera, pero su
alcance de visibilidad es slo dentro del mismo ensamblado. Una clase public puede usarse desde
otros ensamblados mientras que una clase internal no.

protected internal: Es una combinacin de visibilidad que permite que los miembros puedan ser
utilizados en el ensamblado en el que se han definido, as como en clases derivadas a pesar de
que se encuentren en otros ensamblados.

Ejemplo:

Class Point
{
public int X;
public int Y;
}

La clase Point maneja dos variables X y Y de clase pblica lo que indica que desde cualquier otra
clase, namespace o ensamblado se puede tener acceso a ellas. El problema en este caso es que
cualquiera desde fuera puede manipular las dos variables obteniendo su contenido o
modificndolo. Para evitar este problema utilizamos los modificadores y mtodos que permitan
utilizarlas de manera adecuada.

Ahora mostraremos su notacin en UML y despus su desarrollo en C#.


punto2D
-X: int
-Y: int

+getX(): int
+getY(): int
+setX():void
+setY():void

En este diagrama la clase punto2D tiene dos variables privadas (se definen con un signo
menos antes de la variable o mtodo) X y Y , y cuatro mtodos pblicos (Se definen con un
signo ms antes de la variable o mtodo). La variable X y Y de tipo int. Los mtodos getX y getY
devuelven valores int, los mtodos setY y setX devuelven valores void.

Practica18. POO conceptos bsicos. Formularios I


Pgina | 2
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
using System;
using System.Collections.Generic;
using System.Text;

namespace point
{
class Program
{
static void Main(string[] args)
{
int a = 5, b = -3, c=15, d=7;
punto2D p1 = new punto2D();
punto2D p2 = new punto2D();
p1.X = a;
p1.Y = b;
Console.WriteLine("Valores x={0} y y={1}", p1.X, p1.Y);
p2.X = c;
p2.Y = d;
Console.WriteLine("Valores x={0} y y={1}", p2.X, p2.Y);
}
}
class punto2D
{
private int x;
private int y;

public int X
{
get
{
return x;
}
set
{
if (value < 0)
x = 0;
else
x = value;
}
}

public int Y
{
get
{
return y;
}
set
{
if (value < 0)
y = 0;
else
y = value;
}
}
}
}

Practica18. POO conceptos bsicos. Formularios I


Pgina | 3
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
Como pudimos observar en este ejemplo podemos utilizar mtodos para que las variables puedan
ser utilizadas de acuerdo con los que hayamos programado.

A esta forma de acceder a las variables dentro de una clase le llamamos Propiedad.

En conclusin nuestra clase estar formada por variables, mtodos, propiedades y


subclases.

Formularios Windows

A pesar de que .NET hace que asociemos Visual C# .NET con el desarrollo de aplicaciones y
servicios para Internet e Intranes corporativas, una gran parte de los proyectos que se desarrollan
tienen como destinatario el sistema operativo Windows en alguna de sus versiones. Por lo tanto
Visual C# .NET incorpora todos los elementos necesarios para desarrollar aplicaciones para
Windows. En realidad no podemos crear aplicaciones nativas para dicho sistema, sino aplicaciones
que se ejecutan en Windows con la plataforma .NET instaladada.

La plataforma .NET incorpora un mbito, concretamente System.Windows.Forms, en el que existen


mltiples clases cuya finalidad es facilitar el desarrollo de aplicaciones Windows. Estas clases
pueden ser utilizadas desde cualquier lenguaje .NET., adems incorpora asistentes y diseadores
capaces de generar y administrar el cdigo de este tipo en dos lenguajes: Visual C# .NET y Visual
Basic .NET.
Una de las clases existentes en dicho mbito es Form, clase que representa al tpico formulario
base de este tipo de aplicaciones.

En Visual C# .NET un formulario Windows es un objeto de la clase System.Windows.Forms.Form o


de una clase derivada de sta. Una gran ventaja de este lenguaje es que los asistentes y
diseadores se encargan de generar la clase derivada e ir personalizndola a medida que se
insertan componentes, modifican propiedades y gestionan eventos. El trabajo del programador se
limitar en gran parte a operaciones de arrastrar y soltar, edicin de propiedades de ventana y
escritura de cdigo importante como la lgica del sistema asociada a eventos.

Durante las siguientes prcticas iremos utilizando de manera progresiva los componentes ms
importantes de la clase Windows Forms.

Bsicamente en cualquier aplicacin de Windows utilizaremos el diseador de formularios, la


ventana de Propiedades y la Caja de Herramientas.

Practica18. POO conceptos bsicos. Formularios I


Pgina | 4
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS

Fig. 1. Principales ventanas del entorno de desarrollo de la plataforma .NET utilizadas en las
soluciones de formularios Windows.

Practica18. POO conceptos bsicos. Formularios I


Pgina | 5
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
En la ventana de soluciones y la de desarrollo podr observar los principales archivos de un
proyecto de cualquier formulario Windows.

Fig. 2. Principales archivos de un proyecto Windows Forms.

En la fig.2. podemos observar los principales archivos que se generan para cualquier solucin en
entorno grfico.

El archivo Form1 crea una clase que hereda de la clase System.Windows.Forms. Originalmente el
archivo se abre en modo de diseo (Form1.cs [Designer] Fig. 3) donde usted puede ver de
manera grfica el formulario que se desplegar al ejecutar su aplicacin, mostrando los controles,
colores, posiciones, formatos, imgenes, etc. que contendr su formulario.

Fig.3. Form1 en modo de diseo.

Practica18. POO conceptos bsicos. Formularios I


Pgina | 6
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
En el archivo Form1 en modo cdigo (Fig. 4), el desarrollador puede programar los eventos de
todos los controles colocados en el Formulario.

Fig.4. Form1.cs Archivo donde se programan los eventos de cada control.

El archivo Form1.Designer.cs (Fig.5) crea cada uno de los objetos contenidos en el formulario
definiendo sus atributos (propiedades como nombre, color, tamao, posicin) en cdigo partiendo
de la clase System.Windows.Form para crear sus objetos.

Fig. 5. Form1.Designer.cs, archivo donde se crean los objetos del formulario.

El archivo Program.cs (Fig.6) Contiene el mtodo Main() desde el cual se ejecutan los archivos del
formulario Windows.

Practica18. POO conceptos bsicos. Formularios I


Pgina | 7
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS

Fig. 6. Archivo principal desde donde es llamada la aplicacin grfica.

Si requiere crear clases adicionales puede hacerlo seleccionando de la ventena de soluciones


>Agregar > nuevo archivo.

Practica18. POO conceptos bsicos. Formularios I


Pgina | 8
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
Ejercicios de la Prctica.

Parte I. Propiedades.
Crea una nueva solucin llamada practica18
POO1. Y crea un proyecto Point en modo Consola. Compila el ejemplo de propiedades para una
clase Point. Ejectalo y anota tus comentarios y observaciones.

Parte II. Hola Mundo Grfico

En la prctica de hoy se analizarn los tres principales componentes de cualquier formularios


Windows: las Cajas de Texto, las etiquetas y los Botones.

1. Adiciona un nuevo proyecto seleccionando la opcin Windows Application. Y nombra al


proyecto hola_mundo_grafico

2. En el formulario que se despliega da un clic en la parte lateral izquierda en la Caja de


Herramientas (toolbox). Y posteriormente selecciona la pestaa Controles Comunes
(Common Controls).

Practica18. POO conceptos bsicos. Formularios I


Pgina | 9
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS

3. Selecciona del men la Caja de Texto (TextBox) con el botn derecho del mouse, despus
posicinate sobre el formulario (vers que el puntero del mouse aparece una cruz) da clic y
sin soltar el mouse arrstralo. Observars que se crea un cuadro de texto sobre el
formulario el cual al seleccionar podrs cambiar de tamao y posicin.

4. Seleccionado el control (Cuadro de texto) ve a la ventana de Propiedades y edita los


siguientes atributos:
(Name): txtSaludo

Practica18. POO conceptos bsicos. Formularios I


Pgina | 10
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS

5. Del mismo modo que insertaste un cuadro de texto, inserta un Botn (Button) de la Caja
de Herramientas (Toolbox), y edita sus Propiedades:
(Name): btnAceptar
Text: Aceptar

6. Da un doble clic sobre el botn btnAceptar (te enviar al archivo Form1.cs) y escribe el
siguiente cdigo;
txtSaludo.Text = Hola mundo

Tu archivo Form1.cs se ver similar al que se muestra a continuacin:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace hola_mundo_grafico
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();

Practica18. POO conceptos bsicos. Formularios I


Pgina | 11
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
}

private void btnAceptar_Click(object sender, EventArgs e)


{
txtSaludo.Text = "Hola mundo";
}
}
}

7. Ejecuta tu programa seleccionando Iniciar (Debug > Start debugging o bien Flecha
verde). Anota tus observaciones.

8. Abre el archivo Form1.Designer.cs, observa el cdigo y anota tus conclusiones.

Practica18. POO conceptos bsicos. Formularios I


Pgina | 12
UNIVERSIDAD NACIONAL AUTNOMA DE MXICO
FACULTAD DE INGENIERA
TCNICAS DE PROGRAMACIN
TEMA4.PROGRAMACIN ORIENTADA A OBJETOS
Parte III. Validacin de usuario
Crea un nuevo proyecto en modo Windows Application llamado validacion_usuario cuya
interfaz grafica deber ser similar a la que se muestra a continuacin, llama al formulario
validacion_usuario:

Modifica la propiedad PasswordChar del objeto txtPwd. Para ello vamos a ir a la ventana de
Propiedades y vamos a poner el siguiente carcter *

Ahora vamos a editar el evento clic del botn btnAceptar para que compare si el nombre de
usuario y contrrasea son iguales a determinadas variables, por ejemplo nombre de usuario:
tecnicas y contrasea: 123. Para ello de doble clic sobre el botn, y posteriormente escriba el
siguiente cdigo:

private void btnAceptar_Click(object sender, EventArgs e)


{
if ((txtLogin.Text == "tecnicas") && (txtPwd.Text == "123"))
MessageBox.Show("Bienvenido Usuario");
else
MessageBox.Show("Nombre de Usuario o contrasea Incorrecta");
}

Parte IV. Datos de usuario

Adiciona un formulario a este proyecto que registre los siguientes datos: Nombre, nmero de
cuenta, edad y promedio. Posteriormente coloca un Button Mostrar datos, al dar clic deber
mostrar por medio de un MessageBox, esta informacin.
Ejemplo:
MessageBox.Show(Nombre + nombre.Text + , No. Cta. + ncuenta.Text);

Practica18. POO conceptos bsicos. Formularios I


Pgina | 13

Das könnte Ihnen auch gefallen