Unidad 1: Introducción a la Plataforma .NET
1.2 Componentes del Framework .Net - Desarrollo
Plataformas de Desarrollo 1
Modalidad de estudios: Presencial
Mg. Luis Fernando Aguas Bucheli
+593 984015184
@Aguaszoft
Laguas@uisrael.edu.ec
Aguaszoft@Live.com
Objetivos del encuentro:
1. Adquirir los conceptos básicos relacionados con
NET.
2. Reconocer las características de .NET.
3. Conocer la historia de .NET
Semana Nro. 4
Frase Motivacional
“La fórmula de la felicidad son todas
esas cosas invisibles a los ojos que
al mezclarse llenan el alma.”
Por qué C#? (1999)
• Lenguaje orientado a componentes
• Desarrollado sobre la experiencia de COM+
• Soporte nativo para
• Espacios de nombres
• Versionado
• Desarrollado manejado por atributos
Por qué C#?
• Potencia de C con la facilidad de uso de Microsoft Visual Basic®
• Curva de aprendizaje mínima
• Código mucho mas claro que C++
• Más estructurado que Visual Basic
• Mas potente que Java
Elementos de C#
• Estructura y forma
• Sistema de tipos de C#
• Entendiendo el lenguaje C#
Forma y estructura
• No posee ficheros de cabecera “header”
• C# emplea el modelo "definición junto a
declaración"
• Visual Basic, Pascal, Modula, Java
• Similar a la implementación “inline” de C++
• Sin implicación en la generación de código
• Compilación condicional pero sin soporte para
macros
Sistema de tipos 1/2
• Desarrollado directamente sobre el Common
Type System de .NET Framework
• Acceso nativo al CTS .NET
• C# fue concebido sobre .NET
Sistema de tipos 2/2
• Conceptos principales:
• Todo es objeto
• Absolutamente todos los tipos heredan implicitamente del
System.Object
• Distinción clara entre tipos por valor y por referencia
• Por Valor: Tipos Simples, Enumerados, Estructuras
• Por referencia: Interfaces, Clases, Arreglos
Tipos Simples
• Tipos enteros
• byte, sbyte (8bit), short, ushort (16bit)
• int, uint (32bit), long, ulong (64bit)
• Tipos flotantes IEEE
• float (precisión de 7 dígitos)
• double (precisión de 15–16 dígitos)
Tipos Simples
• Tipo numéricos exactos
• decimal (28 dígitos significativos)
• Tipos Caracter
• char (un único caracter)
• string (cadena de caracteres, tipo por referencia)
• Tipo Boolean
• bool (tipo distintivo, no es equivalente al int)
Enumerados
• Nombrar elementos usando nombre en vez de
números
• Mejor usar "Color.Azul" que "3"
• Más legible, de más fácil mantenimiento
• Tipo por valor por lo que es tan ligero como un int
• Ejemplo:
enum Color
{
Rojo,
Verde,
Azul,
};
Arreglos 1/2
• Indexados a partir de Cero
• Desarrollados a partir de la clase System.Array
• Declarados con tipo y formas, pero sin tamaño límite
• int[] SingleDim;
• int[,] TwoDim;
• int [][] Jagged; (dentados)
Arreglos 2/2
• Creados usando new con límites o inicializadores
• SingleDim = new int[20];
• TwoDim = new int[,]{{1,2,3},{4,5,6}};
• Jagged = new int[1][];
Jagged[0] = new int[]{1,2,3};
Clases 1/2
• Implementación de código y datos
• Representa una unidad semántica
• Implementa interfaces
• No herencia múltiple
Clases 2/2
• Clases pueden contener:
• Campos: variables miembros
• Propiedades: valores accesibles a través
de los pares de métodos get/set
• Métodos: funcionalidad de los objetos o
clases
• Especiales: eventos, indexers, delegados
public class Person :
IPersonAge
{
private int YOB;
public Person()
{
}
public int YearOfBirth
{
get { return YOB; };
set { YOB = value; };
}
}
Estructuras
• Grupos de código y datos
• Similar a las clases, sin embargo:
• No se permite la herencia
• Siempre se almacenan por valor
• Desarrolladores de C++
• Estructuras no son una clase con todos sus miembros
públicos
• Ejemplo:
struct Point
{
double X;
double Y;
void MoveBy(double dX, double dY)
{ X+=dX; Y+=dY; }
}
Propiedades
• Unión entre campos y métodos
• Se recomienda su uso en:
• Implementación de miembros de solo lectura
(omitiendo la claúsula set)
• Validación durante la asignación
• Valores calculados o compuestos
• Ejemplo:
string Name
{
get { return name; }
set { name = value; }
}
Recolección de basura
• Creación nuevos objetos y arreglos de datos
• Todos son creados mediante el uso de new
• El .NET runtime mantiene un registro automatico de
todo el uso de la memoria
• El recolector de basura automaticamente remueve
todos los objetos que esten sin uso
• Un uso más eficiente de la memoria
• Fácil de usar y “cero escapes de memoria”
Manipulación de Excepciones
• Similar a C++
• Ejemplo:
• try ejecuta este código
• ...si ocurre un error, catch que
puedo hacer en ese caso ...
• ...finally me permite realizar
algun trabajo manual de rescate
try
{
//... run code
}
catch(SomeException
e)
{
//... handle
}
finally
{
//...end
gracefully
}
Espacios de nombres 1/2
• Toda definición debe estar contenida en un
espacio de nombres
• Impide colisiones de nombres
• Organiza el código
• Pueden y deben ser anidados
Espacios de nombres 2/2
• Agrupa clases y tipos por semántica
• Declarados con la palabra clave namespace
• Referenciados con using
Herramientas disponibles
• .NET Framework SDK—todo lo necesario para
construir aplicaciones
• Compilador C#
• Debugger Visual
• Visual Studio.NET—the productivity rocket
• Ambiente de desarrollo optimizado para C#
• “Code wizards” y templates
• Ayuda inteligente
Hello World
namespace Sample
{
using System;
public class HelloWorld
{
public HelloWorld()
{
}
public static int Main(string[] args)
{
Console.WriteLine("Hello World!");
return 0;
}
}
}
Bibliografía
Direccionamiento actividades de aprendizaje
Revisar el aula virtual y realizar las actividades indicadas por el profesor
GRACIAS

Más contenido relacionado

PPTX
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
PPTX
1-Unidad 1: Introducción a la Plataforma .NET-1.1 Conceptos, características ...
PPTX
2-Unidad 1: Introducción a la Plataforma .NET-1.1 Conceptos, características...
PPTX
6-Unidad 1: Introducción a la Plataforma .NET-1.3 Aplicaciones en C# .NET-Des...
PPTX
3- Unidad 1: Introducción a la Plataforma .Net
PPTX
Lenguaje de programción en internet
PPT
1. Introducción a la Programación Orientada a Objetos con Java
PPTX
Lenguaje de programción en internet
3-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework ....
1-Unidad 1: Introducción a la Plataforma .NET-1.1 Conceptos, características ...
2-Unidad 1: Introducción a la Plataforma .NET-1.1 Conceptos, características...
6-Unidad 1: Introducción a la Plataforma .NET-1.3 Aplicaciones en C# .NET-Des...
3- Unidad 1: Introducción a la Plataforma .Net
Lenguaje de programción en internet
1. Introducción a la Programación Orientada a Objetos con Java
Lenguaje de programción en internet

La actualidad más candente (8)

PPSX
Estrategias DidáCticas Para La EnseñAnza De Competencias InformáTicas
DOCX
Febrero 15 de 2012 9°
PPTX
Presentacion de .net
PPTX
6- Visual Studio
PPTX
Orientaciones sesion 1 Alfabetización Digital
PDF
Aplicacion Escritorio Web
PPTX
Programación 2 - Contenido/Introducción
Estrategias DidáCticas Para La EnseñAnza De Competencias InformáTicas
Febrero 15 de 2012 9°
Presentacion de .net
6- Visual Studio
Orientaciones sesion 1 Alfabetización Digital
Aplicacion Escritorio Web
Programación 2 - Contenido/Introducción
Publicidad

Similar a 4-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework .NET-Desarrollo (20)

PPTX
4- Unidad 1: Introducción a la Plataforma .Net
PPT
Intro c sharp
PDF
C++ Introducción de elementos del lenguaje
PPTX
tutorial de c++
PPTX
Tutorial C++
PDF
Introduccion_a_Python_000000000000000.pdf
PPTX
Desarrollo desoftware
PDF
curso-de-visual-basic-net.pdf
PPSX
FUNDAMENTOS PYTHON.ppsx
PPT
DOC
Resumen lenguajes c#
PPTX
Taller de c sharp
PDF
Buenos Aires vs. (London vs. Chicago) Agiles 2020
PPTX
El lenguaje de pogramación C++
PPTX
Moviles
PPTX
KEY
Aplicaciones web altamente escalables con Redis
4- Unidad 1: Introducción a la Plataforma .Net
Intro c sharp
C++ Introducción de elementos del lenguaje
tutorial de c++
Tutorial C++
Introduccion_a_Python_000000000000000.pdf
Desarrollo desoftware
curso-de-visual-basic-net.pdf
FUNDAMENTOS PYTHON.ppsx
Resumen lenguajes c#
Taller de c sharp
Buenos Aires vs. (London vs. Chicago) Agiles 2020
El lenguaje de pogramación C++
Moviles
Aplicaciones web altamente escalables con Redis
Publicidad

Más de Luis Fernando Aguas Bucheli (20)

PPTX
EFC-ISW-Luis Fernando Aguas.pptx
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX
PPTX

Último (20)

PDF
alimentos de bebidas45rtrtytyurrrr 1.pdf
PPTX
MANEJO DE QUIMICOS Y SGA GRUPO Mnsr Aleman.pptx
PDF
Diseño y Utiliación del HVAC Aire Acondicionado
PDF
Presentación Ejecutiva Minimalista Azul.pdf
PDF
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
PDF
silabos de colegio privado para clases tema2
PDF
METODOLOGÍA DE INVESTIGACION ACCIDENTES DEL TRABAJO.pdf
PPTX
Identificacion de Peligros mediante GTC 45
PDF
PRINCIPIOS ORDENADORES_20250715_183000_0000.pdf
PPTX
Expo petroelo 2do ciclo.psssssssssssssptx
PDF
MODULO 1 Base Legal Nacional y sus aplicaciones.pdf
PDF
Seguridad vial en carreteras mexico 2003.pdf
PDF
2. FICHA EMERGTENCIA VIAL PUCABAMBA - PAN DE AZUCAR.pdf
PPTX
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
PDF
Curso Introductorio de Cristales Liquidos
PDF
EVALUACIÓN 1_REFERENCIAPIR_FASE 1_2024.pdf
PPTX
TECNOLOGIA EN CONSTRUCCION PUBLICO Y PRIVADA
PPTX
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
PDF
Módulo V. Tema 2. Disruptive & Transformation 2024 v.0.4.pdf
PPTX
PROCESOS DE REGULACION DE CRECIMIENTO.pptx
alimentos de bebidas45rtrtytyurrrr 1.pdf
MANEJO DE QUIMICOS Y SGA GRUPO Mnsr Aleman.pptx
Diseño y Utiliación del HVAC Aire Acondicionado
Presentación Ejecutiva Minimalista Azul.pdf
SESION 9 seguridad IZAJE DE CARGAS.pdf ingenieria
silabos de colegio privado para clases tema2
METODOLOGÍA DE INVESTIGACION ACCIDENTES DEL TRABAJO.pdf
Identificacion de Peligros mediante GTC 45
PRINCIPIOS ORDENADORES_20250715_183000_0000.pdf
Expo petroelo 2do ciclo.psssssssssssssptx
MODULO 1 Base Legal Nacional y sus aplicaciones.pdf
Seguridad vial en carreteras mexico 2003.pdf
2. FICHA EMERGTENCIA VIAL PUCABAMBA - PAN DE AZUCAR.pdf
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
Curso Introductorio de Cristales Liquidos
EVALUACIÓN 1_REFERENCIAPIR_FASE 1_2024.pdf
TECNOLOGIA EN CONSTRUCCION PUBLICO Y PRIVADA
TOPOGRAFÍA - INGENIERÍA CIVIL - PRESENTACIÓN
Módulo V. Tema 2. Disruptive & Transformation 2024 v.0.4.pdf
PROCESOS DE REGULACION DE CRECIMIENTO.pptx

4-Unidad 1: Introducción a la Plataforma .NET-1.2 Compònentes del Framework .NET-Desarrollo

  • 1. Unidad 1: Introducción a la Plataforma .NET 1.2 Componentes del Framework .Net - Desarrollo Plataformas de Desarrollo 1 Modalidad de estudios: Presencial Mg. Luis Fernando Aguas Bucheli +593 984015184 @Aguaszoft Laguas@uisrael.edu.ec Aguaszoft@Live.com
  • 2. Objetivos del encuentro: 1. Adquirir los conceptos básicos relacionados con NET. 2. Reconocer las características de .NET. 3. Conocer la historia de .NET Semana Nro. 4
  • 3. Frase Motivacional “La fórmula de la felicidad son todas esas cosas invisibles a los ojos que al mezclarse llenan el alma.”
  • 4. Por qué C#? (1999) • Lenguaje orientado a componentes • Desarrollado sobre la experiencia de COM+ • Soporte nativo para • Espacios de nombres • Versionado • Desarrollado manejado por atributos
  • 5. Por qué C#? • Potencia de C con la facilidad de uso de Microsoft Visual Basic® • Curva de aprendizaje mínima • Código mucho mas claro que C++ • Más estructurado que Visual Basic • Mas potente que Java
  • 6. Elementos de C# • Estructura y forma • Sistema de tipos de C# • Entendiendo el lenguaje C#
  • 7. Forma y estructura • No posee ficheros de cabecera “header” • C# emplea el modelo "definición junto a declaración" • Visual Basic, Pascal, Modula, Java • Similar a la implementación “inline” de C++ • Sin implicación en la generación de código • Compilación condicional pero sin soporte para macros
  • 8. Sistema de tipos 1/2 • Desarrollado directamente sobre el Common Type System de .NET Framework • Acceso nativo al CTS .NET • C# fue concebido sobre .NET
  • 9. Sistema de tipos 2/2 • Conceptos principales: • Todo es objeto • Absolutamente todos los tipos heredan implicitamente del System.Object • Distinción clara entre tipos por valor y por referencia • Por Valor: Tipos Simples, Enumerados, Estructuras • Por referencia: Interfaces, Clases, Arreglos
  • 10. Tipos Simples • Tipos enteros • byte, sbyte (8bit), short, ushort (16bit) • int, uint (32bit), long, ulong (64bit) • Tipos flotantes IEEE • float (precisión de 7 dígitos) • double (precisión de 15–16 dígitos)
  • 11. Tipos Simples • Tipo numéricos exactos • decimal (28 dígitos significativos) • Tipos Caracter • char (un único caracter) • string (cadena de caracteres, tipo por referencia) • Tipo Boolean • bool (tipo distintivo, no es equivalente al int)
  • 12. Enumerados • Nombrar elementos usando nombre en vez de números • Mejor usar "Color.Azul" que "3" • Más legible, de más fácil mantenimiento • Tipo por valor por lo que es tan ligero como un int • Ejemplo: enum Color { Rojo, Verde, Azul, };
  • 13. Arreglos 1/2 • Indexados a partir de Cero • Desarrollados a partir de la clase System.Array • Declarados con tipo y formas, pero sin tamaño límite • int[] SingleDim; • int[,] TwoDim; • int [][] Jagged; (dentados)
  • 14. Arreglos 2/2 • Creados usando new con límites o inicializadores • SingleDim = new int[20]; • TwoDim = new int[,]{{1,2,3},{4,5,6}}; • Jagged = new int[1][]; Jagged[0] = new int[]{1,2,3};
  • 15. Clases 1/2 • Implementación de código y datos • Representa una unidad semántica • Implementa interfaces • No herencia múltiple
  • 16. Clases 2/2 • Clases pueden contener: • Campos: variables miembros • Propiedades: valores accesibles a través de los pares de métodos get/set • Métodos: funcionalidad de los objetos o clases • Especiales: eventos, indexers, delegados public class Person : IPersonAge { private int YOB; public Person() { } public int YearOfBirth { get { return YOB; }; set { YOB = value; }; } }
  • 17. Estructuras • Grupos de código y datos • Similar a las clases, sin embargo: • No se permite la herencia • Siempre se almacenan por valor • Desarrolladores de C++ • Estructuras no son una clase con todos sus miembros públicos • Ejemplo: struct Point { double X; double Y; void MoveBy(double dX, double dY) { X+=dX; Y+=dY; } }
  • 18. Propiedades • Unión entre campos y métodos • Se recomienda su uso en: • Implementación de miembros de solo lectura (omitiendo la claúsula set) • Validación durante la asignación • Valores calculados o compuestos • Ejemplo: string Name { get { return name; } set { name = value; } }
  • 19. Recolección de basura • Creación nuevos objetos y arreglos de datos • Todos son creados mediante el uso de new • El .NET runtime mantiene un registro automatico de todo el uso de la memoria • El recolector de basura automaticamente remueve todos los objetos que esten sin uso • Un uso más eficiente de la memoria • Fácil de usar y “cero escapes de memoria”
  • 20. Manipulación de Excepciones • Similar a C++ • Ejemplo: • try ejecuta este código • ...si ocurre un error, catch que puedo hacer en ese caso ... • ...finally me permite realizar algun trabajo manual de rescate try { //... run code } catch(SomeException e) { //... handle } finally { //...end gracefully }
  • 21. Espacios de nombres 1/2 • Toda definición debe estar contenida en un espacio de nombres • Impide colisiones de nombres • Organiza el código • Pueden y deben ser anidados
  • 22. Espacios de nombres 2/2 • Agrupa clases y tipos por semántica • Declarados con la palabra clave namespace • Referenciados con using
  • 23. Herramientas disponibles • .NET Framework SDK—todo lo necesario para construir aplicaciones • Compilador C# • Debugger Visual • Visual Studio.NET—the productivity rocket • Ambiente de desarrollo optimizado para C# • “Code wizards” y templates • Ayuda inteligente
  • 24. Hello World namespace Sample { using System; public class HelloWorld { public HelloWorld() { } public static int Main(string[] args) { Console.WriteLine("Hello World!"); return 0; } } }
  • 26. Direccionamiento actividades de aprendizaje Revisar el aula virtual y realizar las actividades indicadas por el profesor