SlideShare una empresa de Scribd logo
1 de 40
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

Más contenido relacionado

La actualidad más candente

Clase 01
Clase 01Clase 01
Clase 01Tensor
 
Lenguajes De ProgramacióN
Lenguajes De ProgramacióNLenguajes De ProgramacióN
Lenguajes De ProgramacióNpablo
 
Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++ernestre
 
Programación en c primer programa en c
Programación en c primer programa en cProgramación en c primer programa en c
Programación en c primer programa en cFree Lancer
 
Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)gadiel1515
 
Manual Code::Blocks lenguaje C++
Manual Code::Blocks lenguaje C++Manual Code::Blocks lenguaje C++
Manual Code::Blocks lenguaje C++Santiago Sarmiento
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Estructura sintactica de los lenguajes
Estructura sintactica de los lenguajesEstructura sintactica de los lenguajes
Estructura sintactica de los lenguajesEfrain Godoy
 
4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascalLuis Fernando Jimenez
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosDIEGO BAROJA
 

La actualidad más candente (16)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Tutorial consumir DLL C++ en C#
Tutorial consumir DLL C++ en C#Tutorial consumir DLL C++ en C#
Tutorial consumir DLL C++ en C#
 
Clase 01
Clase 01Clase 01
Clase 01
 
Lenguajes De ProgramacióN
Lenguajes De ProgramacióNLenguajes De ProgramacióN
Lenguajes De ProgramacióN
 
Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
 
Programación en c primer programa en c
Programación en c primer programa en cProgramación en c primer programa en c
Programación en c primer programa en c
 
Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)
 
C++
C++C++
C++
 
Manual Code::Blocks lenguaje C++
Manual Code::Blocks lenguaje C++Manual Code::Blocks lenguaje C++
Manual Code::Blocks lenguaje C++
 
Primera sesion
Primera sesionPrimera sesion
Primera sesion
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Estructura sintactica de los lenguajes
Estructura sintactica de los lenguajesEstructura sintactica de los lenguajes
Estructura sintactica de los lenguajes
 
4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal4035426 ejercicios-resueltos-en-pascal
4035426 ejercicios-resueltos-en-pascal
 
Apuntes php
Apuntes phpApuntes php
Apuntes php
 
Arquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzadosArquitecturas de ordenadores y compiladores cruzados
Arquitecturas de ordenadores y compiladores cruzados
 

Destacado

Introducción-a-Microsoft.NET-[parte1]
Introducción-a-Microsoft.NET-[parte1]Introducción-a-Microsoft.NET-[parte1]
Introducción-a-Microsoft.NET-[parte1]Kevin Reaño
 
Introducción-a-Microsoft.NET-[parte2]
Introducción-a-Microsoft.NET-[parte2]Introducción-a-Microsoft.NET-[parte2]
Introducción-a-Microsoft.NET-[parte2]Kevin Reaño
 
Programacion c# vbnet
Programacion c# vbnetProgramacion c# vbnet
Programacion c# vbnetKevin Reaño
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoActimel
 

Destacado (8)

2 poo u1 5 operaciones
2 poo u1 5 operaciones2 poo u1 5 operaciones
2 poo u1 5 operaciones
 
1 Plataforma .Net
1 Plataforma .Net1 Plataforma .Net
1 Plataforma .Net
 
Introducción-a-Microsoft.NET-[parte1]
Introducción-a-Microsoft.NET-[parte1]Introducción-a-Microsoft.NET-[parte1]
Introducción-a-Microsoft.NET-[parte1]
 
Introducción-a-Microsoft.NET-[parte2]
Introducción-a-Microsoft.NET-[parte2]Introducción-a-Microsoft.NET-[parte2]
Introducción-a-Microsoft.NET-[parte2]
 
Programacion c# vbnet
Programacion c# vbnetProgramacion c# vbnet
Programacion c# vbnet
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
POO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y PolimorfismoPOO: Herencia, Abstraccion y Polimorfismo
POO: Herencia, Abstraccion y Polimorfismo
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 

Similar a 2 poo u1 1 Introduccion

Programacion C#.NET
Programacion C#.NETProgramacion C#.NET
Programacion C#.NETSaviotec
 
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzzWilderHidalgo1
 
Creación de extensiones nativas
Creación de extensiones nativasCreación de extensiones nativas
Creación de extensiones nativasAngel Vazquez
 
Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiFreelance
 
2154086 curso-c-c-con-clase
2154086 curso-c-c-con-clase2154086 curso-c-c-con-clase
2154086 curso-c-c-con-claseEdgar Rodriguez
 
Cursocpp
CursocppCursocpp
Cursocppzotek
 
3 lo del blog
3 lo del blog3 lo del blog
3 lo del blogfabi1775
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion javaals_8
 
Fundamentos de programamacion c#
Fundamentos de programamacion c# Fundamentos de programamacion c#
Fundamentos de programamacion c# Robert Rodriguez
 
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTMLPASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTMLfelipeforero72
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipseejavierot99
 
Manual_java.pdf
Manual_java.pdfManual_java.pdf
Manual_java.pdfAnaLpez275
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxDavidGarca147527
 

Similar a 2 poo u1 1 Introduccion (20)

Programacion C#.NET
Programacion C#.NETProgramacion C#.NET
Programacion C#.NET
 
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
3.LenguajeJava.pptxzczxczxsdfsczxczzzzzzzzzzzzzzzzzzzzz
 
37975756-Guia-de-C
37975756-Guia-de-C37975756-Guia-de-C
37975756-Guia-de-C
 
Creación de extensiones nativas
Creación de extensiones nativasCreación de extensiones nativas
Creación de extensiones nativas
 
Ingeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo iiIngeniería inversa básica en android tomo ii
Ingeniería inversa básica en android tomo ii
 
Clase 1 jJAVA 2012
Clase 1 jJAVA 2012Clase 1 jJAVA 2012
Clase 1 jJAVA 2012
 
TUTORIAL
TUTORIALTUTORIAL
TUTORIAL
 
2154086 curso-c-c-con-clase
2154086 curso-c-c-con-clase2154086 curso-c-c-con-clase
2154086 curso-c-c-con-clase
 
Cursocpp
CursocppCursocpp
Cursocpp
 
3 lo del blog
3 lo del blog3 lo del blog
3 lo del blog
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Introduccion java
Introduccion javaIntroduccion java
Introduccion java
 
Fundamentos de programamacion c#
Fundamentos de programamacion c# Fundamentos de programamacion c#
Fundamentos de programamacion c#
 
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTMLPASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
 
Informatica
InformaticaInformatica
Informatica
 
Parte i curso c
Parte i curso cParte i curso c
Parte i curso c
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Tutorial de eclipsee
Tutorial de eclipseeTutorial de eclipsee
Tutorial de eclipsee
 
Manual_java.pdf
Manual_java.pdfManual_java.pdf
Manual_java.pdf
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
 

Más de Jorge Ivan Rivalcoba Rivas

Más de Jorge Ivan Rivalcoba Rivas (8)

2 poo u1 11 clases matematicas
2 poo u1 11 clases matematicas2 poo u1 11 clases matematicas
2 poo u1 11 clases matematicas
 
2 poo u1 10 salida con formato y flujos de entrada
2 poo u1 10 salida con formato y flujos de entrada2 poo u1 10 salida con formato y flujos de entrada
2 poo u1 10 salida con formato y flujos de entrada
 
2 poo u1 9 tipos de datos no numericos
2 poo u1 9 tipos de datos no numericos2 poo u1 9 tipos de datos no numericos
2 poo u1 9 tipos de datos no numericos
 
2 poo u1 8 sentencias condicionales
2 poo u1 8 sentencias condicionales2 poo u1 8 sentencias condicionales
2 poo u1 8 sentencias condicionales
 
2 poo u1 7 variables y operaciones booleanas
2 poo u1 7 variables y operaciones booleanas2 poo u1 7 variables y operaciones booleanas
2 poo u1 7 variables y operaciones booleanas
 
2 poo u1 6 operaciones de asignacion y casteo
2 poo u1 6 operaciones de asignacion y casteo2 poo u1 6 operaciones de asignacion y casteo
2 poo u1 6 operaciones de asignacion y casteo
 
2 poo u1 4 datos
2 poo u1 4 datos2 poo u1 4 datos
2 poo u1 4 datos
 
2 poo u1 3 Salida estandar
2 poo u1 3 Salida estandar2 poo u1 3 Salida estandar
2 poo u1 3 Salida estandar
 

Último

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 

Último (20)

NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 

2 poo u1 1 Introduccion

  • 1. M.C Ivan Rivalcoba PROGRAMACIÓN ORIENTADA A OBJETOS C# & .NET 1. FUNDAMENTOS POO (OOP) INTRODUCCIÓN
  • 2.  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
  • 3.  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
  • 4.  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
  • 5.  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
  • 6.  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
  • 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 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#
  • 9.  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
  • 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 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

Notas del editor

  1. Aclarar el punto de “pasados de atrás hacia adelante y viceversa.”
  2. Explicar cada una de estos procesos y que herramientas se pueden ocupar.
  3. Explicar cada una de estos procesos y que herramientas se pueden ocupar.
  4. Explicar los objetivos de cada uno de los elementos que se requieren para poder programar.
  5. Explicar cada una de estos procesos y que herramientas se pueden ocupar.