M.C Ivan
Rivalcoba
PROGRAMACIÓN
ORIENTADA A OBJETOS
C# & .NET
1. FUNDAMENTOS POO (OOP)
INTRODUCCIÓN
 La OOP es un paradigma (modo de hacer las cosas)
de desarrollo de software (programación) en donde
la estructura del software esta basada en la
interacción entre clases y objetos con la finalidad de
realizar una tarea o resolver alguna problemática.
DEFINICIÓN DE LA OOP
 La forma en que interactúan estos objetos y clases
es por medio de mensajes (órdenes) pasados de
atrás hacia adelante y viceversa.
 En respuesta a un mensaje, un objeto realiza una
acción.
DEFINICIÓN DE LA OOP
 Los objetos y clases en la OOP son los bloques de
construcción de un programa, en su forma mas
general dichas entidades quedan constituidos por
dos elementos:
1. Datos: Son aquellas entidades que describen al objeto
(lo caracterizan) Los datos dentro del contexto de la
OOP serán llamados Atributos.
2. Acciones: Son las entidades responsables de operar
sobre los datos del mismo objeto, o algún dato
proporcionado por otro objeto, enviado en un mensaje.
Las acciones serán llamadas Métodos.
OBJETOS Y CLASES
 Esta forma de programar los sistemas surge en la
mitad de 1960 con un lenguaje de programación
llamado SIMULA.
 Posteriormente en 1970 surge SMALLTALK. A pesar
de la evolución constante de la OPP, los
desarrolladores no abrazaron esta metodología de
desarrollo en sus inicios.
 El interés por este paradigma surge hasta la mitad
de 1980, con el surgimiento de C++.
HISTORIA DE LA OOP
 Fue hasta 1990 cuando la OOP llego ha ser popular
dentro de la comunidad de desarrolladores,
impulsado por la gran aceptación del lenguaje JAVA.
 Fue en el año 2002 cuando Microsoft introduce el
lenguaje C# (Se pronuncia Ci-Sharp). Un lenguaje
moderno, concebido para trabajar con las últimas
tecnologías (Web, móvil, nube, internet,
paralelismo), y totalmente Orientado a Objetos.
HISTORIA DE LA OOP
 C# será el lenguaje de trabajo, ello no significa que:
 C# sea el mejor lenguaje del mundo.
 C# sirva para todo.
 Nos debemos de casar con C#.
C#
 Lo que aprenderemos en este curso será una
metodología para construir programas orientados a
objetos.
 Conocimiento que puede ser extendido a todos los
demás lenguajes orientados a objetos.
C#
 De forma simplificada realizar un programa en C#
involucra 3 procesos:
 Modelado del problema.
 Codificación del Modelo.
 Compilación del código
en un assembly.
CREACIÓN DE UN PROGRAMA
Q & A (QUESTIONS AND ANSWERS)
 ¿Que es la OOP?
 ¿A que se refiere la palabra paradigma?
 Completar la siguiente oración:
 En respuesta a un mensaje un objeto realiza una:____
 ¿Como esta compuesto un Programa orientado a objetos?
 ¿Que elementos conforman las clases y objetos?
 ¿En que década surge la idea de la OOP?
 ¿En que década se populariza la OOP?
 ¿Que es el lenguaje C#?
 ¿C# es el mejor de los lenguajes? Detalla tu respuesta.
 Enumera los 3 procesos vistos en clase que involucran la
creación de un programa.
 Pk0 VoidProgram
 A continuación crearemos el primer proyecto en C#,
un programa con la estructura básica pero que no
realiza ninguna acción en pocas palabras un
programa vacío.
 Para programar se requieren al menos 3 cosas.
 Un Editor de texto
 Un Traductor de lenguaje de alto nivel a código máquina.
 Un Depurador.
PRACTICA
 Pk0 VoidProgram
 Toda distribución de Windows (A excepción de la RT)
cuenta con un compilador de C# (Un traductor de
alto nivel a código máquina).
 Este esta localizado en la siguiente Ruta:
 C:WindowsMicrosoft.NETFramework
PRACTICA
 Pk0 VoidProgram
 En este directorio son accesibles las versiones del
compilador disponibles en nuestro OS.
 C:WindowsMicrosoft.NETFramework
PRACTICA
 Pk0 VoidProgram
 Por ejemplo para acceder a la versión 4 se hace
doble clic en el folder v4.x, dentro esta localizado el
compilador de C# llamado CSC.exe, el nombre viene
de las palabras C Sharp Compiler.
PRACTICA
 Pk0 VoidProgram
 Lo mas importante de este paso fue el de ubicar la
ruta donde esta localizada la versión del compilador
con la cual deseamos trabajar.
 Ahora agregaremos esta ruta a la variable de
entorno PATH, para que Windows reconozca el
programa CSC.exe desde cualquier ubicación.
PRACTICA
 Pk0 VoidProgram
 Antes de agregar la ruta a la variable de entorno,
comprobaremos como el programa CSC.exe no es
reconocido desde cualquier ruta por el CMD de
nuestro sistema operativo.
 Para ello abrir la consola de Windows presionando
(Windows)+R Teclear lo siguiente:
PRACTICA
 Pk0 VoidProgram
 Con ello se consigue abrir la consola del sistema
 Teclear el siguiente comando y dar enter.
PRACTICA
 Pk0 VoidProgram
 Como el OS no sabe donde esta localizado el
programa CSC.exe, manda este mensaje de error:
PRACTICA
 Pk0 VoidProgram
 Para que el OS sepa donde buscar el ejecutable para
poderlo lanzar, agregaremos a una variable de
entorno llamada PATH la ruta donde esta localizado
el compilador.
 Copiamos en el portapapales (clipboard) de windows
la ruta del compilador, en el caso de mi máquina es
la siguiente:
PRACTICA
 Pk0 VoidProgram
 Luego accedemos a las variables de entorno
ejecutando los siguientes pasos (W7):
 En la ventana de Inicio hacer clic secundario en
quipo y seleccionar propiedades:
PRACTICA
 Pk0 VoidProgram
 Seguido de eso seleccionar configuración avanzada
del sistema, en la ventana seleccionar la pestaña
“Opciones avanzadas” y luego el botón Variables de
entorno.
PRACTICA
 Pk0 VoidProgram
 En la sección de variables del sistema seleccionar
PATH y luego editar, al fina ingresar un “;” y después
pegar la ruta del compilador de C sharp.
PRACTICA
 Pk0 VoidProgram
 Con ello se consigue que el sistema reconozca el
ejecutable desde cualquier ruta.
 Realizar la prueba desde la consola, teclear desde
cualquier ruta CSC, se deberá obtener la siguiente
salida:
PRACTICA
 Pk0 VoidProgram
 Con esto ha quedado configurado el sistema, este
proceso solo se realizará una vez.
 Ahora resta adecuar nuestro entorno de trabajo para
poder codificar los archivos fuente de nuestro
programa.
 Para ese propósito crearemos un folder de trabajo
dentro de “C:” de modo que quede de la siguiente
manera:
PRACTICA
 Pk0 VoidProgram
 Ahora se requerirá de usar un editor de texto plano
para escribir el código fuente de nuestro programa
vacío.
 Si bien el notepad de windows funciona, en la red
hay otros editores mucho mas cómodos a la hora de
programar; algunas recomendaciones son:
 Notepad++: http://notepad-plus-plus.org/
 Sublime text: http://www.sublimetext.com/
PRACTICA
 Pk0 VoidProgram
 En el caso de sublime text seguir los siguientes
pasos:
 Abrir sublime Text, guardar el archivo dentro del
directorio de trabajo como “pk0.cs”, tener sumo cuidado
de seleccionar el tipo de archivo como C#.
PRACTICA
 Pk0 VoidProgram
 Codificar las siguientes líneas.
PRACTICA
 Pk0 VoidProgram
 Una vez que se ha codificado el programa, el
siguiente paso consistirá en compilarlo.
 Para ello ir a la consola cambiar al directorio donde
esta localizado el archivo fuente (en nuestro caso es
“C:cswork” y ejecutar el siguiente comando:
PRACTICA
 Pk0 VoidProgram
 El compilador mostrará la siguiente salida:
PRACTICA
 Pk0 VoidProgram
 Si abrimos el directorio de trabajo observaremos que
se ha creado un nuevo archivo “.exe” este es un
ejecutable originado por el compilador tomando
como fuente nuestro archivo “pk0.cs”
 Este archivo ejecutable es llamado también
“assembly” (ensamblado).
PRACTICA
 Pk0 VoidProgram
 Por último nada mas resta ejecutar el archivo y esto
puede se hecho desde la consola. Para ello en la
consola tecleamos el nombre del ejecutable (Que en
este caso es el mismo que el archivo fuente).
 Al dar enter el resultado es… ¡NADA!. Pero eso es
algo bueno.
 Por que nuestro programa no
Tiene nada, es un programa sin
instrucciones.
PRACTICA
 Pk0 VoidProgram
 Como mencionamos anteriormente, un programa
orientado a objetos esta compuesto por objetos y
clases.
 Cuando las entidades en nuestro programa son
únicas, se codificaran en forma de clases con
miembros estáticos.
 Cuando se deseen entidades del mismo tipo pero
con datos diferentes, se crearan como objetos a
partir de una clase.
PRACTICA
 Pk0 VoidProgram
 Un programa principal es una sola entidad, por lo
que según la teoría expuesta anteriormente será
representado con una clase.
 ¿Cómo esta compuesta una clase?
PRACTICA
 Pk0 VoidProgram
 Existe un lenguaje de modelado estándar para
representar nuestro programa, dicho lenguaje se
llama UML (viene de Unified Modeling Language).
PRACTICA
 Pk0 VoidProgram
 Para representar una clase en UML se utilizan las
siguientes reglas:
 Ref: http://goo.gl/iE9O6g
PRACTICA
Nombre de la Clase
Atributos / Datos
Métodos / Acciones
 Pk0 VoidProgram
 En nuestro caso utilizaremos el programa yED para
crear el modelo de nuestro programa vació.
 Para descargar yED ingresar en la siguiente página:
http://www.yworks.com/en/products_yed_about.htm
l
PRACTICA
 Pk0 VoidProgram
 El modelo de nuestro programa vacío queda de la
siguiente manera:
PRACTICA
 Pk0 VoidProgram
 Comparación.
PRACTICA
Q & A
 Enliste al menos 3 herramientas que se requieren para programar.
 ¿Que hay que hacer para instalar el compilador de C# en
windows?
 ¿En que ruta esta localizado el compilador de C Sharp?
 ¿Para que sirve la variable de entorno PATH?
 ¿Como se abre la línea de comandos en ambiente windows?
 Enumere los pasos necesarios para que Windows reconozca el
compilador de C# desde cualquier ruta en la línea de comandos.
 ¿Que extensión debe tener un archivo fuente de C#?
 Escriba el comando para compilar desde la línea de comandos un
archivo fuente con el nombre "fuente.cs".
 ¿Como se llama el lenguaje estándar para describir un modelo de
software orientado a objetos?
 En la práctica anterior compilamos un código fuente
en la línea de comandos usando la instrucción:
csc nombreDelPrograma.cs
 El resultado es un ejecutable con el mismo nombre
que código fuente.
 Sin embargo es posible compilar de tal forma que se
especifique el nombre que debe de llevar el
ejecutable, Investigar como lograrlo.
INVESTIGAR

2 poo u1 1 Introduccion

  • 1.
    M.C Ivan Rivalcoba PROGRAMACIÓN ORIENTADA AOBJETOS C# & .NET 1. FUNDAMENTOS POO (OOP) INTRODUCCIÓN
  • 2.
     La OOPes un paradigma (modo de hacer las cosas) de desarrollo de software (programación) en donde la estructura del software esta basada en la interacción entre clases y objetos con la finalidad de realizar una tarea o resolver alguna problemática. DEFINICIÓN DE LA OOP
  • 3.
     La formaen que interactúan estos objetos y clases es por medio de mensajes (órdenes) pasados de atrás hacia adelante y viceversa.  En respuesta a un mensaje, un objeto realiza una acción. DEFINICIÓN DE LA OOP
  • 4.
     Los objetosy clases en la OOP son los bloques de construcción de un programa, en su forma mas general dichas entidades quedan constituidos por dos elementos: 1. Datos: Son aquellas entidades que describen al objeto (lo caracterizan) Los datos dentro del contexto de la OOP serán llamados Atributos. 2. Acciones: Son las entidades responsables de operar sobre los datos del mismo objeto, o algún dato proporcionado por otro objeto, enviado en un mensaje. Las acciones serán llamadas Métodos. OBJETOS Y CLASES
  • 5.
     Esta formade programar los sistemas surge en la mitad de 1960 con un lenguaje de programación llamado SIMULA.  Posteriormente en 1970 surge SMALLTALK. A pesar de la evolución constante de la OPP, los desarrolladores no abrazaron esta metodología de desarrollo en sus inicios.  El interés por este paradigma surge hasta la mitad de 1980, con el surgimiento de C++. HISTORIA DE LA OOP
  • 6.
     Fue hasta1990 cuando la OOP llego ha ser popular dentro de la comunidad de desarrolladores, impulsado por la gran aceptación del lenguaje JAVA.  Fue en el año 2002 cuando Microsoft introduce el lenguaje C# (Se pronuncia Ci-Sharp). Un lenguaje moderno, concebido para trabajar con las últimas tecnologías (Web, móvil, nube, internet, paralelismo), y totalmente Orientado a Objetos. HISTORIA DE LA OOP
  • 7.
     C# seráel lenguaje de trabajo, ello no significa que:  C# sea el mejor lenguaje del mundo.  C# sirva para todo.  Nos debemos de casar con C#. C#
  • 8.
     Lo queaprenderemos en este curso será una metodología para construir programas orientados a objetos.  Conocimiento que puede ser extendido a todos los demás lenguajes orientados a objetos. C#
  • 9.
     De formasimplificada realizar un programa en C# involucra 3 procesos:  Modelado del problema.  Codificación del Modelo.  Compilación del código en un assembly. CREACIÓN DE UN PROGRAMA
  • 10.
    Q & A(QUESTIONS AND ANSWERS)  ¿Que es la OOP?  ¿A que se refiere la palabra paradigma?  Completar la siguiente oración:  En respuesta a un mensaje un objeto realiza una:____  ¿Como esta compuesto un Programa orientado a objetos?  ¿Que elementos conforman las clases y objetos?  ¿En que década surge la idea de la OOP?  ¿En que década se populariza la OOP?  ¿Que es el lenguaje C#?  ¿C# es el mejor de los lenguajes? Detalla tu respuesta.  Enumera los 3 procesos vistos en clase que involucran la creación de un programa.
  • 11.
     Pk0 VoidProgram A continuación crearemos el primer proyecto en C#, un programa con la estructura básica pero que no realiza ninguna acción en pocas palabras un programa vacío.  Para programar se requieren al menos 3 cosas.  Un Editor de texto  Un Traductor de lenguaje de alto nivel a código máquina.  Un Depurador. PRACTICA
  • 12.
     Pk0 VoidProgram Toda distribución de Windows (A excepción de la RT) cuenta con un compilador de C# (Un traductor de alto nivel a código máquina).  Este esta localizado en la siguiente Ruta:  C:WindowsMicrosoft.NETFramework PRACTICA
  • 13.
     Pk0 VoidProgram En este directorio son accesibles las versiones del compilador disponibles en nuestro OS.  C:WindowsMicrosoft.NETFramework PRACTICA
  • 14.
     Pk0 VoidProgram Por ejemplo para acceder a la versión 4 se hace doble clic en el folder v4.x, dentro esta localizado el compilador de C# llamado CSC.exe, el nombre viene de las palabras C Sharp Compiler. PRACTICA
  • 15.
     Pk0 VoidProgram Lo mas importante de este paso fue el de ubicar la ruta donde esta localizada la versión del compilador con la cual deseamos trabajar.  Ahora agregaremos esta ruta a la variable de entorno PATH, para que Windows reconozca el programa CSC.exe desde cualquier ubicación. PRACTICA
  • 16.
     Pk0 VoidProgram Antes de agregar la ruta a la variable de entorno, comprobaremos como el programa CSC.exe no es reconocido desde cualquier ruta por el CMD de nuestro sistema operativo.  Para ello abrir la consola de Windows presionando (Windows)+R Teclear lo siguiente: PRACTICA
  • 17.
     Pk0 VoidProgram Con ello se consigue abrir la consola del sistema  Teclear el siguiente comando y dar enter. PRACTICA
  • 18.
     Pk0 VoidProgram Como el OS no sabe donde esta localizado el programa CSC.exe, manda este mensaje de error: PRACTICA
  • 19.
     Pk0 VoidProgram Para que el OS sepa donde buscar el ejecutable para poderlo lanzar, agregaremos a una variable de entorno llamada PATH la ruta donde esta localizado el compilador.  Copiamos en el portapapales (clipboard) de windows la ruta del compilador, en el caso de mi máquina es la siguiente: PRACTICA
  • 20.
     Pk0 VoidProgram Luego accedemos a las variables de entorno ejecutando los siguientes pasos (W7):  En la ventana de Inicio hacer clic secundario en quipo y seleccionar propiedades: PRACTICA
  • 21.
     Pk0 VoidProgram Seguido de eso seleccionar configuración avanzada del sistema, en la ventana seleccionar la pestaña “Opciones avanzadas” y luego el botón Variables de entorno. PRACTICA
  • 22.
     Pk0 VoidProgram En la sección de variables del sistema seleccionar PATH y luego editar, al fina ingresar un “;” y después pegar la ruta del compilador de C sharp. PRACTICA
  • 23.
     Pk0 VoidProgram Con ello se consigue que el sistema reconozca el ejecutable desde cualquier ruta.  Realizar la prueba desde la consola, teclear desde cualquier ruta CSC, se deberá obtener la siguiente salida: PRACTICA
  • 24.
     Pk0 VoidProgram Con esto ha quedado configurado el sistema, este proceso solo se realizará una vez.  Ahora resta adecuar nuestro entorno de trabajo para poder codificar los archivos fuente de nuestro programa.  Para ese propósito crearemos un folder de trabajo dentro de “C:” de modo que quede de la siguiente manera: PRACTICA
  • 25.
     Pk0 VoidProgram Ahora se requerirá de usar un editor de texto plano para escribir el código fuente de nuestro programa vacío.  Si bien el notepad de windows funciona, en la red hay otros editores mucho mas cómodos a la hora de programar; algunas recomendaciones son:  Notepad++: http://notepad-plus-plus.org/  Sublime text: http://www.sublimetext.com/ PRACTICA
  • 26.
     Pk0 VoidProgram En el caso de sublime text seguir los siguientes pasos:  Abrir sublime Text, guardar el archivo dentro del directorio de trabajo como “pk0.cs”, tener sumo cuidado de seleccionar el tipo de archivo como C#. PRACTICA
  • 27.
     Pk0 VoidProgram Codificar las siguientes líneas. PRACTICA
  • 28.
     Pk0 VoidProgram Una vez que se ha codificado el programa, el siguiente paso consistirá en compilarlo.  Para ello ir a la consola cambiar al directorio donde esta localizado el archivo fuente (en nuestro caso es “C:cswork” y ejecutar el siguiente comando: PRACTICA
  • 29.
     Pk0 VoidProgram El compilador mostrará la siguiente salida: PRACTICA
  • 30.
     Pk0 VoidProgram Si abrimos el directorio de trabajo observaremos que se ha creado un nuevo archivo “.exe” este es un ejecutable originado por el compilador tomando como fuente nuestro archivo “pk0.cs”  Este archivo ejecutable es llamado también “assembly” (ensamblado). PRACTICA
  • 31.
     Pk0 VoidProgram Por último nada mas resta ejecutar el archivo y esto puede se hecho desde la consola. Para ello en la consola tecleamos el nombre del ejecutable (Que en este caso es el mismo que el archivo fuente).  Al dar enter el resultado es… ¡NADA!. Pero eso es algo bueno.  Por que nuestro programa no Tiene nada, es un programa sin instrucciones. PRACTICA
  • 32.
     Pk0 VoidProgram Como mencionamos anteriormente, un programa orientado a objetos esta compuesto por objetos y clases.  Cuando las entidades en nuestro programa son únicas, se codificaran en forma de clases con miembros estáticos.  Cuando se deseen entidades del mismo tipo pero con datos diferentes, se crearan como objetos a partir de una clase. PRACTICA
  • 33.
     Pk0 VoidProgram Un programa principal es una sola entidad, por lo que según la teoría expuesta anteriormente será representado con una clase.  ¿Cómo esta compuesta una clase? PRACTICA
  • 34.
     Pk0 VoidProgram Existe un lenguaje de modelado estándar para representar nuestro programa, dicho lenguaje se llama UML (viene de Unified Modeling Language). PRACTICA
  • 35.
     Pk0 VoidProgram Para representar una clase en UML se utilizan las siguientes reglas:  Ref: http://goo.gl/iE9O6g PRACTICA Nombre de la Clase Atributos / Datos Métodos / Acciones
  • 36.
     Pk0 VoidProgram En nuestro caso utilizaremos el programa yED para crear el modelo de nuestro programa vació.  Para descargar yED ingresar en la siguiente página: http://www.yworks.com/en/products_yed_about.htm l PRACTICA
  • 37.
     Pk0 VoidProgram El modelo de nuestro programa vacío queda de la siguiente manera: PRACTICA
  • 38.
     Pk0 VoidProgram Comparación. PRACTICA
  • 39.
    Q & A Enliste al menos 3 herramientas que se requieren para programar.  ¿Que hay que hacer para instalar el compilador de C# en windows?  ¿En que ruta esta localizado el compilador de C Sharp?  ¿Para que sirve la variable de entorno PATH?  ¿Como se abre la línea de comandos en ambiente windows?  Enumere los pasos necesarios para que Windows reconozca el compilador de C# desde cualquier ruta en la línea de comandos.  ¿Que extensión debe tener un archivo fuente de C#?  Escriba el comando para compilar desde la línea de comandos un archivo fuente con el nombre "fuente.cs".  ¿Como se llama el lenguaje estándar para describir un modelo de software orientado a objetos?
  • 40.
     En lapráctica anterior compilamos un código fuente en la línea de comandos usando la instrucción: csc nombreDelPrograma.cs  El resultado es un ejecutable con el mismo nombre que código fuente.  Sin embargo es posible compilar de tal forma que se especifique el nombre que debe de llevar el ejecutable, Investigar como lograrlo. INVESTIGAR

Notas del editor

  • #4 Aclarar el punto de “pasados de atrás hacia adelante y viceversa.”
  • #10 Explicar cada una de estos procesos y que herramientas se pueden ocupar.
  • #11 Explicar cada una de estos procesos y que herramientas se pueden ocupar.
  • #12 Explicar los objetivos de cada uno de los elementos que se requieren para poder programar.
  • #40 Explicar cada una de estos procesos y que herramientas se pueden ocupar.