SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Estructuras de Lenguaje
Objetivo Mostrar cómo aplicar los conceptos fundamentales de programación orientada a objetos utilizando los lenguajes Microsoft Visual C#.NET y Microsoft Visual Basic.NET
Visual C#.NET Creado especialmente para .NET Estándar ECMA (2002) Orientado a Objetos y Componentes Sintaxis derivada de C, C++, Delphi y Java
Visual Basic.NET Rediseñado especialmente para .NET 100% Orientado a Objetos y Componentes Salvo por pequeñas excepciones, la sintaxis es la misma de VB6 y sus predecesores Tiene la misma potencia, robustez y capacidades de acceso a .NET que C#
Compiladores (1/2) Compilador de Línea de Comandos C# Cumple con la especificación del CLS <Win>icrosoft.NETrameworklt;version>sc.exe Csc /out:XX /target:YY “Archivo1.cs” “Archivo2.cs”  Compilador de Línea de Comandos VB.NET Cumple con la especificación del CLS <Win>icrosoft.NETrameworklt;version>bc.exe vbc /out:XX /target:YY “Archivo1.vb” “Archivo2.vb”
Compiladores (2/2) Algunas opciones útiles /out:<file>             		Nombre del archivo de salida /target:exe/winexe/library	Consola/Windows/DLL /reference:<file list>  	Assemblies de referencia /doc:<file>             		Archivo de documentación /debug[+|-]             		Emitir info de DEBUG /main:<type>            	Determina la clase que posee 				el Entry Point (ignora los otros 				posibles) /lib:<file list>        		Directorios de librerías
VB.NET y C# - Terminación de línea C#: la línea finaliza con un “ ; ” //Una linea con mas de un renglon string nombre = primerNombre +                 apellido; //El punto y coma indica FINAL de linea VB.NET: la línea finaliza con un salto de línea 'Una linea con mas de un renglon Dim nombre As String = primerNombre & _                        apellido
VB.NET y C# - Declaración de Bloques En C# los bloques se declaran entre llaves classMainClass{ publicstatic void Main(string[] args) { 		Console.WriteLine("Hello World!"); 	} } En VB.NET cada bloque tiene su sentencia de apertura y su sentencia de cierre, que normalmente empieza con la palabra “End” Class Main Public Shared Sub Main() 		Console.WriteLine("Hello World!") End Sub End Class
VB.NET y C# - Comentarios C# soportatrestipos de comentarios string nombre = “Juan”;// Comentario de una sola línea /* Comentario con mas     de una línea*/ /// <summary> ///Documentación XML que puede ser consumida por otras  /// herramientas para mostrar ayuda dinámica o generar  /// documentación en varios formatos /// </summary> public class Matematica { /// <summary> ///Calcula la suma de dos números enteros ///</summary> ///<param name="x">El primer operando de la suma</param> ///<param name="y">El segundo operando de la suma</param> ///<returns> Lasuma entera de ambos operandos</returns> public int Sumar (int x, int y) {return x + y;} }
VB.NET y C# - Comentarios VB.NET soporta dos tipos de comentarios 'Comentario simple Dim nombre As String = “Juan” '''<summary> '''Documentación XML que describe un tipo y sus miembros '''</summary> '''<param name="x">El primer operando de la suma</param> '''<param name="y">El segundo operando de la suma</param> '''<returns> Lasuma entera de ambos operandos</returns> Public Function Sumar (x as Integer, y as Integer) as Integer return x + y End Function
VB.NET y C# - Case Sensitivity C# distingue entre mayúsuclas y minúsculas system.console.writeline(“HOLA”); INCORRECTO System.Console.WriteLine(“HOLA”); CORRECTO VB.NET no distingue entre mayúsuclas y minúsculas system.console.writeline(“HOLA”) CORRECTO System.Console.WriteLine(“HOLA”) CORRECTO
Definición e inicialización de variables
Tipos de Datos
VB.NET C# Public public Private private Friend internal Protected protected Protected Friend protected internal VB.NET y C# - Alcance de miembros Miembro: se refiere a los campos, propiedades, métodos, eventos, clases anidadas, etc. C#: todo miembro es declarado como PRIVATE por default VB.NET: todo miembro es declarado como PUBLIC por default Modificadores de acceso disponibles:
VB.NET y C# - Declaración de Variables C#: el tipo de dato precede al identificador (nombre) int x; decimal y; rectangle z; Cliente cli; VB.NET: comienza con “Dim” o algún modificador de acceso (Public, Private, etc.) + identificador de la variable + “As” Tipo de Dato Dim x As Integer      ‘Dim es = a Private por defecto Dim y As Decimal Dim z As Rectangle Dim cli As Cliente
VB.NET y C# - Inicialización de Variables C#: toda variable debe ser inicializada EXPLICITAMENTE antes de ser usada int tempBalance; //variable local //ERROR: tempBalance NO ha sido inicializada System.Console.WriteLine(tempBalance);  VB.NET: inicializa automáticamente las variables en CERO o en Nothing DimtempBalanceAs Integer 'SIN ERROR: tempBalance vale CERO System.Console.WriteLine(tempBalance)
VB.NET y C# - Conversiones de Tipos C# no permite conversiones implícitas de tipos Si falla el cast se devuelve null o InvalidCastException Cuenta cta = new CtaCte(); CtaCte cc = cta; //Error: puede que cta no sea una CtaCte CtaCte cc = (CtaCte)cta; //Conversion explicita “CASTING” CtaCte cc = cta as CtaCte; //Usando el operador “as” if (cta is CtaCte) ... //Comp. con el operador “is” VB.NET usa las directivas del compilador Option Strict Si falla el cast siempre se genera una InvalidCastException Dim cta As Cuenta = New CtaCte() Dim cc As CtaCte=cta‘OK  Option Strict Off Dim cc As CtaCte = CType(cta, CtaCte) ‘Option Strict On If TypeOf cta Is CtaCte Then  ‘Comp. con TypeOf Is
VB.NET y C# - Arreglos C# utiliza corchetes [ ] para definición de arrays string[] telefonos; //Definicion de un Arreglo de strings telefonos = newstring[3]; //De 3 elementos telefonos[0] = “1245”; //Seteo del 1er elemento del arreglo //Definicion y asignacion de una vez telefonos = newstring[] {“1”,“2”,“3”}; VB.NET permite definir arrays de varias formas con () Dim telefonos As String()ó   Dim telefonos() As String Dim telefonos(3) As String ‘Crea un array de 4 elementos telefonos(0) = “1245”‘Seteo del 1er elemento del arreglo ‘Definicion y asignacion de una vez Dim telefonos() As String = {“1”,“2”,“3”}
Operadores
VB.NET y C# - Operadores
Operador VB.NET C# Operador logico Y And && Operador logico O Or ll Negacion logica Not ! Igual   = == Distinto <> != VB.NET y C# - Operadores Lógicos En C# todas las evaluaciones se hacen por “cortocircuito” //Si Hacer1() es True, entonces         //Si Hacer1() es False, entonces //NO se evalua Hacer2()                 //NO se evalua Hacer2() if(Hacer1() || Hacer2())               if (Hacer1() && Hacer2()) {                                       { }} En VB.NET se debe utilizar los operadores AndAlso y OrElse ‘Si Hacer1() es True, entonces          ‘Si Hacer1() es False, entonces ‘NO se evalua Hacer2()                  ‘NO se evalua Hacer2() If Hacer1()OrElseHacer2() Then        If Hacer1()AndAlsoHacer2() Then    ...                                      ... End If                                  End If
Estructuras de Control
VB.NET y C# - Sentencias condicionales C#: sentencia if con varios formatos if (x > 10)        if (x < 10)        if (x < 10)          if (x < 10)     HacerAlgo();    {                  {                    {                        Hacer1();           Hacer1();           Hacer1();                         Hacer2();      }                    }                    }                  elseelse if (x > 20)                                       {                    {                                            Hacer2();           Hacer2();                                       }                    } else                                                            {                                                                Hacer3();                                                            }   VB.NET: la sentencia If requiere de la palabra Then If x > 10 Then Hacer()  If x < 10 Then  If x < 10 Then  If x < 10 Then                            Hacer1()        Hacer1()         Hacer1()                            Hacer2()     Else            ElseIf x > 20 Then  End If             Hacer2()         Hacer2()                                         End If          Else Hacer3()                                                         End If
VB.NET y C# - Sentencias condicionales C#: sentencia case int a = 0; switch(a) { case 1:{//CODIGO 1 break; 	} case 2: {//CODIGO 2 break; 	} default:{//CODIGO DEFAULT break; 	} } VB.NET: sentencia case Dim a AsInteger = 0 Select a Case 1 'Código 1 Case 2 'Código 2 Case Else 'Código Default End Select
VB.NET y C# - Sentencia for C#: la sentencia for consta de tres partes //Partes: declaración, prueba, acción for (int i=1; i < 10; i++) { } VB.NET usa las palabras claves For, To, Next y Step Dim i As Integer For i = 1 To 100               For i = 1 To 100 Step 2   ‘i se incrementa en 1	        ‘i se incrementa en 2 NextNext
VB.NET y C# - Sentencia for/each For/Each permite recorrer arreglos y colecciones C#: usa la palabra foreach string[] nombres = newstring[5]; foreach(string auxNombre in nombres) { //auxNombre es de SOLO LECTURA } VB.NET usa las palabra For Each Dim nombres(5) As String Dim auxNombre As String For Each auxNombre In nombres ‘auxNombre NO es de SOLO LECTURA Next
VB.NET y C# - Sentencia while C#: boolcondicion =true; while (condicion == true){ 	//En algún momento poner condicion = false } VB.NET: Dim condicion As Boolean = True While condicion = True 'Poner condicion=false en algún momento  End While
Estructuras de Control
VB.NET y C# - Clases C#: las clases son declaradas mediante class //Definicion de la clase CuentaBancaria class CuentaBancaria { //Definicion de miembros } VB.NET usa las palabras Class / End Class ‘Definicion de la clase CuentaBancaria Class CuentaBancaria ‘Definicion de miembros End Class
Sintaxis – Entry Point C#: public class HolaMundo { 	public static void Main(string[] args){ //Punto de entrada de la aplicación 	} } VB.NET Public Class HolaMundo Public Shared Sub Main(ByVal args() As String) ‘Punto de entrada de la aplicación     End Sub End Class
VB.NET y C# - Métodos Métodos: acciones que un objeto puede llevar a cabo. En C# todo método es una función public void HacerDeposito(int importe) //No devuelve valor { } public int ObtenerInventario(int codArticulo) //Devuelve un entero { } VB.NET usa procedimientos Sub y funciones Function Public Sub HacerDeposito(ByVal importe As Integer) ‘No devuelve valor End Sub Public Function Inventario(ByVal codArt As Integer) As Integer ‘Devuelve un entero End Function
VB.NET y C# - Constructores Constructor: métodos dentro de la clase que son llamados automáticamente cuando se crea una instancia de dicha clase. En C# tienen el mismo nombre de la clase class CtaCte {      public CtaCte(){...}       //Const. por default      public CtaCte(int i){...}  //Const. con un parametro } VB.NET usa un procedimiento Sub New Class CtaCte     Sub New()     End Sub     Sub New(ByVal i As Integer)     End Sub  End Class
VB.NET y C# - Sobrecarga de Métodos Sobrecarga: varios métodos con el mismo nombre pero diferente “firma”. C# public void HacerDeposito(int importe)  { } public void HacerDeposito(int importe, bool acreditar) { } VB.NET Public Sub HacerDeposito(ByVal imp As Integer) End Sub Public Sub HacerDeposito(ByVal imp As Integer, ByVal acreditar As Boolean) End Sub
VB.NET y C# - Métodos estáticos Miembros que no requieren de una instancia para ser invocados. Se los llama métodos “de clase” C# public static void HacerDeposito(int importe)  { } VB.NET Public Shared Sub HacerDeposito(ByVal imp As Integer) End Sub
VB.NET y C# - Propiedades Propiedad: característica o atributo de un objeto C# VB.NET class CtaCte {    int balance;    public int Balance {       get {          return balance;  }       set { balance = value; } } } CtaCte cc = new CtaCte(); cc.Balance = 100; //Asignación Mostrar(cc.Balance); //Obtención Class CtaCte    Dim _balance As Integer    Property Balance() As Integer       Get          Return _balance       End Get       Set (ByVal value As Integer) _balance =value       End Set    End Property End Class Dim cc As New CtaCte() cc.Balance = 100‘Asignación Mostrar(cc.Balance)‘Obtención
VB.NET y C# - Herencia En C# la herencia se define: class Cuenta               //Clase Base {      } class CtaCte : Cuenta      //Clase Derivada { } En .NET solo se permite Herencia Simple  VB.NET usa la palabra clave Inherits Class Cuenta               ‘Clase Base End Class Class CtaCte               ‘Clase Derivada      Inherits Cuenta End Class
VB.NET y C# - Herencia (Cont.) En C# public sealed class Cuenta{ //No se puede heredar de esta clase “sellada” } public abstract class Cuenta{ //No se pueden crear instancias de esta clase, sólo //de sus derivadas } VB.NET Public NotInheritable Class Cuenta ‘No se puede heredar de esta clase End Class Public MustInherit Class Cuenta ‘No se pueden crear instancias de esta clase, sólo de sus  ‘derivadas End Class
VB.NET y C# - Namespaces C# VB.NET namespaceBancoARG { namespaceGestion    { public classCtaCte       {       } public classCajaAhorro       {       }    } } //Referencia “full” BancoARG.Gestion.CtaCte; BancoARG.Gestion.CajaAhorro; //Referencia “corta” using BancoARG.Gestion; CtaCte cc = new CtaCte(); CajaAhorro ca = new CajaAhorro(); Namespace BancoARG Namespace Gestion Public Class CtaCte End Class       Public Class CajaAhorro End Class          End Namespace End Namespace ‘Referencia “full” BancoARG.Gestion.CtaCte BancoARG.Gestion.CajaAhorro ‘Referencia a un namespace Imports BancoARG.Gestion Dim cc As New CtaCte() Dim ca As New CajaAhorro()
VB.NET y C# - Admin. De Excepciones  Excepción: condición anómala de funcionamiento de una aplicación VB.NET usa las palabras Try/Catch/Finally C#: usa las palabras try/catch/finally try { int resultado = x/y; } catch(DivideByZeroException e) {   //Error division por cero } catch { //Otro error } finally { //Siempre pasa por aca } Try    Dim resultado As Integer resultado = x/y Catch e As DivideByZeroException ‘Error division por cero Catch ‘Otro error Finally ‘Siempre pasa por aca End Try

Weitere ähnliche Inhalte

Was ist angesagt?

Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Jesús Gómez Ávila
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++Idalia Tristan
 
Modelo osi, sus capas y protocolo
Modelo osi, sus capas y protocoloModelo osi, sus capas y protocolo
Modelo osi, sus capas y protocoloyetsyC
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.K Manuel TN
 
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XPETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XPJglory22
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareJahiro Bojorquez
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaaeross
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Raul Hernandez Mayo
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de softwareDiaxz Salgado
 

Was ist angesagt? (20)

Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1
 
Modo de transferencia asíncrona (atm)
Modo de transferencia asíncrona (atm)Modo de transferencia asíncrona (atm)
Modo de transferencia asíncrona (atm)
 
Capa de aplicación
Capa de aplicaciónCapa de aplicación
Capa de aplicación
 
Elementos de JavaScript
Elementos de  JavaScriptElementos de  JavaScript
Elementos de JavaScript
 
TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++TIPOS DE DATOS PARA C++
TIPOS DE DATOS PARA C++
 
Protocolo de capa 6
Protocolo de capa 6Protocolo de capa 6
Protocolo de capa 6
 
Modelo de usuarios
Modelo de usuariosModelo de usuarios
Modelo de usuarios
 
Modelo osi, sus capas y protocolo
Modelo osi, sus capas y protocoloModelo osi, sus capas y protocolo
Modelo osi, sus capas y protocolo
 
Easy case
Easy caseEasy case
Easy case
 
5.1 estructura de una clase.
5.1 estructura de una clase.5.1 estructura de una clase.
5.1 estructura de una clase.
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XPETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
ETAPAS Y SUB ETAPAS DE LA METODOLOGÍA XP
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Capas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capaCapas del modelo OSI y Protocolos que intervienen en cada capa
Capas del modelo OSI y Protocolos que intervienen en cada capa
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Modelo paso de mensajes
Modelo paso de mensajesModelo paso de mensajes
Modelo paso de mensajes
 
Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison Procedimiento Para Utilizar Flex Y Bison
Procedimiento Para Utilizar Flex Y Bison
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 

Andere mochten auch

Estructura del lenguaje
Estructura del lenguajeEstructura del lenguaje
Estructura del lenguajeRafa Mejia
 
Lenguaje y estructura
Lenguaje y estructuraLenguaje y estructura
Lenguaje y estructuraLisa Carrion
 
Teorías del lenguaje
Teorías del lenguajeTeorías del lenguaje
Teorías del lenguajemartinsilvero
 
Estructuras del lenguaje
Estructuras del lenguajeEstructuras del lenguaje
Estructuras del lenguajeDanny Rodriguez
 
Teorías Adquisición del Lenguje
Teorías Adquisición del LengujeTeorías Adquisición del Lenguje
Teorías Adquisición del LengujeSabrina
 
Tema 1 pau. el lenguaje y la comunicación
Tema 1 pau. el lenguaje y la comunicaciónTema 1 pau. el lenguaje y la comunicación
Tema 1 pau. el lenguaje y la comunicaciónwirginiar
 
El pensamiento, lenguaje y la conciencia
El pensamiento, lenguaje y la concienciaEl pensamiento, lenguaje y la conciencia
El pensamiento, lenguaje y la concienciarebeca tafur muñoz
 
6. TEORIA DEL LENGUAJE Y EL HABLA PERSONAL
6. TEORIA DEL LENGUAJE Y EL HABLA PERSONAL6. TEORIA DEL LENGUAJE Y EL HABLA PERSONAL
6. TEORIA DEL LENGUAJE Y EL HABLA PERSONALpedroortiz
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual BasicVane Borjas
 
PSICOLOGÍA del LENGUAJE
PSICOLOGÍA del LENGUAJEPSICOLOGÍA del LENGUAJE
PSICOLOGÍA del LENGUAJEAna Balcarce
 
Material Textual Como Recurso De Aprendizaje
Material Textual Como Recurso De AprendizajeMaterial Textual Como Recurso De Aprendizaje
Material Textual Como Recurso De AprendizajeSalvador
 
Comunicación y lenguaje
Comunicación y lenguajeComunicación y lenguaje
Comunicación y lenguajePaul Dupont
 
Proyectos Web 1 Fundamentos
Proyectos Web   1 FundamentosProyectos Web   1 Fundamentos
Proyectos Web 1 FundamentosJose Ponce
 
Tema 6.lenguaje y comunicación
Tema 6.lenguaje y comunicaciónTema 6.lenguaje y comunicación
Tema 6.lenguaje y comunicacióndaniel1calderon
 

Andere mochten auch (20)

Estructura del lenguaje
Estructura del lenguajeEstructura del lenguaje
Estructura del lenguaje
 
Lenguaje y estructura
Lenguaje y estructuraLenguaje y estructura
Lenguaje y estructura
 
Teorías del lenguaje
Teorías del lenguajeTeorías del lenguaje
Teorías del lenguaje
 
Estructuras del lenguaje
Estructuras del lenguajeEstructuras del lenguaje
Estructuras del lenguaje
 
Teorías del lenguaje
Teorías del lenguajeTeorías del lenguaje
Teorías del lenguaje
 
Teorías Adquisición del Lenguje
Teorías Adquisición del LengujeTeorías Adquisición del Lenguje
Teorías Adquisición del Lenguje
 
La comunicación y lenguaje
La comunicación y lenguajeLa comunicación y lenguaje
La comunicación y lenguaje
 
Tema 1 pau. el lenguaje y la comunicación
Tema 1 pau. el lenguaje y la comunicaciónTema 1 pau. el lenguaje y la comunicación
Tema 1 pau. el lenguaje y la comunicación
 
El pensamiento, lenguaje y la conciencia
El pensamiento, lenguaje y la concienciaEl pensamiento, lenguaje y la conciencia
El pensamiento, lenguaje y la conciencia
 
6. TEORIA DEL LENGUAJE Y EL HABLA PERSONAL
6. TEORIA DEL LENGUAJE Y EL HABLA PERSONAL6. TEORIA DEL LENGUAJE Y EL HABLA PERSONAL
6. TEORIA DEL LENGUAJE Y EL HABLA PERSONAL
 
Estructuras de control en Visual Basic
Estructuras de control en Visual BasicEstructuras de control en Visual Basic
Estructuras de control en Visual Basic
 
PSICOLOGÍA del LENGUAJE
PSICOLOGÍA del LENGUAJEPSICOLOGÍA del LENGUAJE
PSICOLOGÍA del LENGUAJE
 
Lenguaje y pensamiento
Lenguaje y pensamientoLenguaje y pensamiento
Lenguaje y pensamiento
 
Visual Basic 6.0 Parte 1/2
Visual Basic 6.0 Parte 1/2Visual Basic 6.0 Parte 1/2
Visual Basic 6.0 Parte 1/2
 
Material Textual Como Recurso De Aprendizaje
Material Textual Como Recurso De AprendizajeMaterial Textual Como Recurso De Aprendizaje
Material Textual Como Recurso De Aprendizaje
 
Comunicación y lenguaje
Comunicación y lenguajeComunicación y lenguaje
Comunicación y lenguaje
 
Proyectos Web 1 Fundamentos
Proyectos Web   1 FundamentosProyectos Web   1 Fundamentos
Proyectos Web 1 Fundamentos
 
Tema 6.lenguaje y comunicación
Tema 6.lenguaje y comunicaciónTema 6.lenguaje y comunicación
Tema 6.lenguaje y comunicación
 
Java
JavaJava
Java
 
Programacion C#
Programacion C#Programacion C#
Programacion C#
 

Ähnlich wie Estructuras de Lenguaje .NET (20)

Programacion c# vbnet
Programacion c# vbnetProgramacion c# vbnet
Programacion c# vbnet
 
Dce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnetDce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnet
 
Dce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnetDce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnet
 
Programacion C#_vbnet
Programacion C#_vbnetProgramacion C#_vbnet
Programacion C#_vbnet
 
 
Visual Basic
Visual  BasicVisual  Basic
Visual Basic
 
Dce0 programacion oo_c__vbnet
Dce0 programacion oo_c__vbnetDce0 programacion oo_c__vbnet
Dce0 programacion oo_c__vbnet
 
Visual studio introduccion
Visual studio introduccionVisual studio introduccion
Visual studio introduccion
 
Programación con C/AL para Microsoft Business Solutions Navision
Programación con C/AL para Microsoft Business Solutions NavisionProgramación con C/AL para Microsoft Business Solutions Navision
Programación con C/AL para Microsoft Business Solutions Navision
 
Separata java script
Separata java scriptSeparata java script
Separata java script
 
Java básico
Java  básicoJava  básico
Java básico
 
Por que java
Por que javaPor que java
Por que java
 
D I F E R E N C I A S E N T R E V I S U A L Y C
D I F E R E N C I A S  E N T R E  V I S U A L  Y  CD I F E R E N C I A S  E N T R E  V I S U A L  Y  C
D I F E R E N C I A S E N T R E V I S U A L Y C
 
Lenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetosLenguajes de Programación: Clases y objetos
Lenguajes de Programación: Clases y objetos
 
Charla Mysql
Charla MysqlCharla Mysql
Charla Mysql
 
Programación III
Programación IIIProgramación III
Programación III
 
Curso basico c sharp
Curso basico c sharpCurso basico c sharp
Curso basico c sharp
 
My Sql A C#
My Sql A C#My Sql A C#
My Sql A C#
 
My Sql A C#
My Sql A C#My Sql A C#
My Sql A C#
 
Curso basico c sharp
Curso basico c sharpCurso basico c sharp
Curso basico c sharp
 

Mehr von brobelo

Microsoft Excel 2007 - Guia de Ejercicios
Microsoft Excel 2007 - Guia de EjerciciosMicrosoft Excel 2007 - Guia de Ejercicios
Microsoft Excel 2007 - Guia de Ejerciciosbrobelo
 
Excel 2007
Excel 2007Excel 2007
Excel 2007brobelo
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
Microsoft office access 2007
Microsoft office access 2007Microsoft office access 2007
Microsoft office access 2007brobelo
 
XML en .NET
XML en .NETXML en .NET
XML en .NETbrobelo
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008brobelo
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoftbrobelo
 
Modelos De Data Mining
Modelos De Data MiningModelos De Data Mining
Modelos De Data Miningbrobelo
 
Data Mining
Data MiningData Mining
Data Miningbrobelo
 
Manual Analysis Services
Manual Analysis ServicesManual Analysis Services
Manual Analysis Servicesbrobelo
 
Analysis Services
Analysis ServicesAnalysis Services
Analysis Servicesbrobelo
 
Bussines Intelligence
Bussines IntelligenceBussines Intelligence
Bussines Intelligencebrobelo
 
Reporting Services
Reporting ServicesReporting Services
Reporting Servicesbrobelo
 
SQL SERVER Service Broker
SQL SERVER Service BrokerSQL SERVER Service Broker
SQL SERVER Service Brokerbrobelo
 
Replicacion de Datos en SQL Server
Replicacion de Datos en SQL ServerReplicacion de Datos en SQL Server
Replicacion de Datos en SQL Serverbrobelo
 
SQL Server - Como se Almacenan los Datos
SQL Server - Como se Almacenan los DatosSQL Server - Como se Almacenan los Datos
SQL Server - Como se Almacenan los Datosbrobelo
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005brobelo
 
Variables en SSIS
Variables en SSISVariables en SSIS
Variables en SSISbrobelo
 
SQL Server Integration Services
SQL Server Integration ServicesSQL Server Integration Services
SQL Server Integration Servicesbrobelo
 

Mehr von brobelo (20)

Microsoft Excel 2007 - Guia de Ejercicios
Microsoft Excel 2007 - Guia de EjerciciosMicrosoft Excel 2007 - Guia de Ejercicios
Microsoft Excel 2007 - Guia de Ejercicios
 
Excel 2007
Excel 2007Excel 2007
Excel 2007
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Microsoft office access 2007
Microsoft office access 2007Microsoft office access 2007
Microsoft office access 2007
 
XML en .NET
XML en .NETXML en .NET
XML en .NET
 
Sql server 2008
Sql server 2008Sql server 2008
Sql server 2008
 
ADO.NET
ADO.NETADO.NET
ADO.NET
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
 
Modelos De Data Mining
Modelos De Data MiningModelos De Data Mining
Modelos De Data Mining
 
Data Mining
Data MiningData Mining
Data Mining
 
Manual Analysis Services
Manual Analysis ServicesManual Analysis Services
Manual Analysis Services
 
Analysis Services
Analysis ServicesAnalysis Services
Analysis Services
 
Bussines Intelligence
Bussines IntelligenceBussines Intelligence
Bussines Intelligence
 
Reporting Services
Reporting ServicesReporting Services
Reporting Services
 
SQL SERVER Service Broker
SQL SERVER Service BrokerSQL SERVER Service Broker
SQL SERVER Service Broker
 
Replicacion de Datos en SQL Server
Replicacion de Datos en SQL ServerReplicacion de Datos en SQL Server
Replicacion de Datos en SQL Server
 
SQL Server - Como se Almacenan los Datos
SQL Server - Como se Almacenan los DatosSQL Server - Como se Almacenan los Datos
SQL Server - Como se Almacenan los Datos
 
Programacion con SQL Server 2005
Programacion con SQL Server 2005Programacion con SQL Server 2005
Programacion con SQL Server 2005
 
Variables en SSIS
Variables en SSISVariables en SSIS
Variables en SSIS
 
SQL Server Integration Services
SQL Server Integration ServicesSQL Server Integration Services
SQL Server Integration Services
 

Kürzlich hochgeladen

Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 

Kürzlich hochgeladen (20)

Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 

Estructuras de Lenguaje .NET

  • 2. Objetivo Mostrar cómo aplicar los conceptos fundamentales de programación orientada a objetos utilizando los lenguajes Microsoft Visual C#.NET y Microsoft Visual Basic.NET
  • 3. Visual C#.NET Creado especialmente para .NET Estándar ECMA (2002) Orientado a Objetos y Componentes Sintaxis derivada de C, C++, Delphi y Java
  • 4. Visual Basic.NET Rediseñado especialmente para .NET 100% Orientado a Objetos y Componentes Salvo por pequeñas excepciones, la sintaxis es la misma de VB6 y sus predecesores Tiene la misma potencia, robustez y capacidades de acceso a .NET que C#
  • 5. Compiladores (1/2) Compilador de Línea de Comandos C# Cumple con la especificación del CLS <Win>icrosoft.NETrameworklt;version>sc.exe Csc /out:XX /target:YY “Archivo1.cs” “Archivo2.cs” Compilador de Línea de Comandos VB.NET Cumple con la especificación del CLS <Win>icrosoft.NETrameworklt;version>bc.exe vbc /out:XX /target:YY “Archivo1.vb” “Archivo2.vb”
  • 6. Compiladores (2/2) Algunas opciones útiles /out:<file> Nombre del archivo de salida /target:exe/winexe/library Consola/Windows/DLL /reference:<file list> Assemblies de referencia /doc:<file> Archivo de documentación /debug[+|-] Emitir info de DEBUG /main:<type> Determina la clase que posee el Entry Point (ignora los otros posibles) /lib:<file list> Directorios de librerías
  • 7. VB.NET y C# - Terminación de línea C#: la línea finaliza con un “ ; ” //Una linea con mas de un renglon string nombre = primerNombre + apellido; //El punto y coma indica FINAL de linea VB.NET: la línea finaliza con un salto de línea 'Una linea con mas de un renglon Dim nombre As String = primerNombre & _ apellido
  • 8. VB.NET y C# - Declaración de Bloques En C# los bloques se declaran entre llaves classMainClass{ publicstatic void Main(string[] args) { Console.WriteLine("Hello World!"); } } En VB.NET cada bloque tiene su sentencia de apertura y su sentencia de cierre, que normalmente empieza con la palabra “End” Class Main Public Shared Sub Main() Console.WriteLine("Hello World!") End Sub End Class
  • 9. VB.NET y C# - Comentarios C# soportatrestipos de comentarios string nombre = “Juan”;// Comentario de una sola línea /* Comentario con mas de una línea*/ /// <summary> ///Documentación XML que puede ser consumida por otras /// herramientas para mostrar ayuda dinámica o generar /// documentación en varios formatos /// </summary> public class Matematica { /// <summary> ///Calcula la suma de dos números enteros ///</summary> ///<param name="x">El primer operando de la suma</param> ///<param name="y">El segundo operando de la suma</param> ///<returns> Lasuma entera de ambos operandos</returns> public int Sumar (int x, int y) {return x + y;} }
  • 10. VB.NET y C# - Comentarios VB.NET soporta dos tipos de comentarios 'Comentario simple Dim nombre As String = “Juan” '''<summary> '''Documentación XML que describe un tipo y sus miembros '''</summary> '''<param name="x">El primer operando de la suma</param> '''<param name="y">El segundo operando de la suma</param> '''<returns> Lasuma entera de ambos operandos</returns> Public Function Sumar (x as Integer, y as Integer) as Integer return x + y End Function
  • 11. VB.NET y C# - Case Sensitivity C# distingue entre mayúsuclas y minúsculas system.console.writeline(“HOLA”); INCORRECTO System.Console.WriteLine(“HOLA”); CORRECTO VB.NET no distingue entre mayúsuclas y minúsculas system.console.writeline(“HOLA”) CORRECTO System.Console.WriteLine(“HOLA”) CORRECTO
  • 14. VB.NET C# Public public Private private Friend internal Protected protected Protected Friend protected internal VB.NET y C# - Alcance de miembros Miembro: se refiere a los campos, propiedades, métodos, eventos, clases anidadas, etc. C#: todo miembro es declarado como PRIVATE por default VB.NET: todo miembro es declarado como PUBLIC por default Modificadores de acceso disponibles:
  • 15. VB.NET y C# - Declaración de Variables C#: el tipo de dato precede al identificador (nombre) int x; decimal y; rectangle z; Cliente cli; VB.NET: comienza con “Dim” o algún modificador de acceso (Public, Private, etc.) + identificador de la variable + “As” Tipo de Dato Dim x As Integer ‘Dim es = a Private por defecto Dim y As Decimal Dim z As Rectangle Dim cli As Cliente
  • 16. VB.NET y C# - Inicialización de Variables C#: toda variable debe ser inicializada EXPLICITAMENTE antes de ser usada int tempBalance; //variable local //ERROR: tempBalance NO ha sido inicializada System.Console.WriteLine(tempBalance); VB.NET: inicializa automáticamente las variables en CERO o en Nothing DimtempBalanceAs Integer 'SIN ERROR: tempBalance vale CERO System.Console.WriteLine(tempBalance)
  • 17. VB.NET y C# - Conversiones de Tipos C# no permite conversiones implícitas de tipos Si falla el cast se devuelve null o InvalidCastException Cuenta cta = new CtaCte(); CtaCte cc = cta; //Error: puede que cta no sea una CtaCte CtaCte cc = (CtaCte)cta; //Conversion explicita “CASTING” CtaCte cc = cta as CtaCte; //Usando el operador “as” if (cta is CtaCte) ... //Comp. con el operador “is” VB.NET usa las directivas del compilador Option Strict Si falla el cast siempre se genera una InvalidCastException Dim cta As Cuenta = New CtaCte() Dim cc As CtaCte=cta‘OK  Option Strict Off Dim cc As CtaCte = CType(cta, CtaCte) ‘Option Strict On If TypeOf cta Is CtaCte Then ‘Comp. con TypeOf Is
  • 18. VB.NET y C# - Arreglos C# utiliza corchetes [ ] para definición de arrays string[] telefonos; //Definicion de un Arreglo de strings telefonos = newstring[3]; //De 3 elementos telefonos[0] = “1245”; //Seteo del 1er elemento del arreglo //Definicion y asignacion de una vez telefonos = newstring[] {“1”,“2”,“3”}; VB.NET permite definir arrays de varias formas con () Dim telefonos As String()ó Dim telefonos() As String Dim telefonos(3) As String ‘Crea un array de 4 elementos telefonos(0) = “1245”‘Seteo del 1er elemento del arreglo ‘Definicion y asignacion de una vez Dim telefonos() As String = {“1”,“2”,“3”}
  • 20. VB.NET y C# - Operadores
  • 21. Operador VB.NET C# Operador logico Y And && Operador logico O Or ll Negacion logica Not ! Igual   = == Distinto <> != VB.NET y C# - Operadores Lógicos En C# todas las evaluaciones se hacen por “cortocircuito” //Si Hacer1() es True, entonces //Si Hacer1() es False, entonces //NO se evalua Hacer2() //NO se evalua Hacer2() if(Hacer1() || Hacer2()) if (Hacer1() && Hacer2()) { { }} En VB.NET se debe utilizar los operadores AndAlso y OrElse ‘Si Hacer1() es True, entonces ‘Si Hacer1() es False, entonces ‘NO se evalua Hacer2() ‘NO se evalua Hacer2() If Hacer1()OrElseHacer2() Then If Hacer1()AndAlsoHacer2() Then ... ... End If End If
  • 23. VB.NET y C# - Sentencias condicionales C#: sentencia if con varios formatos if (x > 10) if (x < 10) if (x < 10) if (x < 10) HacerAlgo(); { { { Hacer1(); Hacer1(); Hacer1(); Hacer2(); } } } elseelse if (x > 20) { { Hacer2(); Hacer2(); } } else { Hacer3(); } VB.NET: la sentencia If requiere de la palabra Then If x > 10 Then Hacer() If x < 10 Then If x < 10 Then If x < 10 Then Hacer1() Hacer1() Hacer1() Hacer2() Else ElseIf x > 20 Then End If Hacer2() Hacer2() End If Else Hacer3() End If
  • 24. VB.NET y C# - Sentencias condicionales C#: sentencia case int a = 0; switch(a) { case 1:{//CODIGO 1 break; } case 2: {//CODIGO 2 break; } default:{//CODIGO DEFAULT break; } } VB.NET: sentencia case Dim a AsInteger = 0 Select a Case 1 'Código 1 Case 2 'Código 2 Case Else 'Código Default End Select
  • 25. VB.NET y C# - Sentencia for C#: la sentencia for consta de tres partes //Partes: declaración, prueba, acción for (int i=1; i < 10; i++) { } VB.NET usa las palabras claves For, To, Next y Step Dim i As Integer For i = 1 To 100 For i = 1 To 100 Step 2 ‘i se incrementa en 1 ‘i se incrementa en 2 NextNext
  • 26. VB.NET y C# - Sentencia for/each For/Each permite recorrer arreglos y colecciones C#: usa la palabra foreach string[] nombres = newstring[5]; foreach(string auxNombre in nombres) { //auxNombre es de SOLO LECTURA } VB.NET usa las palabra For Each Dim nombres(5) As String Dim auxNombre As String For Each auxNombre In nombres ‘auxNombre NO es de SOLO LECTURA Next
  • 27. VB.NET y C# - Sentencia while C#: boolcondicion =true; while (condicion == true){ //En algún momento poner condicion = false } VB.NET: Dim condicion As Boolean = True While condicion = True 'Poner condicion=false en algún momento End While
  • 29. VB.NET y C# - Clases C#: las clases son declaradas mediante class //Definicion de la clase CuentaBancaria class CuentaBancaria { //Definicion de miembros } VB.NET usa las palabras Class / End Class ‘Definicion de la clase CuentaBancaria Class CuentaBancaria ‘Definicion de miembros End Class
  • 30. Sintaxis – Entry Point C#: public class HolaMundo { public static void Main(string[] args){ //Punto de entrada de la aplicación } } VB.NET Public Class HolaMundo Public Shared Sub Main(ByVal args() As String) ‘Punto de entrada de la aplicación End Sub End Class
  • 31. VB.NET y C# - Métodos Métodos: acciones que un objeto puede llevar a cabo. En C# todo método es una función public void HacerDeposito(int importe) //No devuelve valor { } public int ObtenerInventario(int codArticulo) //Devuelve un entero { } VB.NET usa procedimientos Sub y funciones Function Public Sub HacerDeposito(ByVal importe As Integer) ‘No devuelve valor End Sub Public Function Inventario(ByVal codArt As Integer) As Integer ‘Devuelve un entero End Function
  • 32. VB.NET y C# - Constructores Constructor: métodos dentro de la clase que son llamados automáticamente cuando se crea una instancia de dicha clase. En C# tienen el mismo nombre de la clase class CtaCte { public CtaCte(){...} //Const. por default public CtaCte(int i){...} //Const. con un parametro } VB.NET usa un procedimiento Sub New Class CtaCte Sub New() End Sub Sub New(ByVal i As Integer) End Sub End Class
  • 33. VB.NET y C# - Sobrecarga de Métodos Sobrecarga: varios métodos con el mismo nombre pero diferente “firma”. C# public void HacerDeposito(int importe) { } public void HacerDeposito(int importe, bool acreditar) { } VB.NET Public Sub HacerDeposito(ByVal imp As Integer) End Sub Public Sub HacerDeposito(ByVal imp As Integer, ByVal acreditar As Boolean) End Sub
  • 34. VB.NET y C# - Métodos estáticos Miembros que no requieren de una instancia para ser invocados. Se los llama métodos “de clase” C# public static void HacerDeposito(int importe) { } VB.NET Public Shared Sub HacerDeposito(ByVal imp As Integer) End Sub
  • 35. VB.NET y C# - Propiedades Propiedad: característica o atributo de un objeto C# VB.NET class CtaCte { int balance; public int Balance { get { return balance; } set { balance = value; } } } CtaCte cc = new CtaCte(); cc.Balance = 100; //Asignación Mostrar(cc.Balance); //Obtención Class CtaCte Dim _balance As Integer Property Balance() As Integer Get Return _balance End Get Set (ByVal value As Integer) _balance =value End Set End Property End Class Dim cc As New CtaCte() cc.Balance = 100‘Asignación Mostrar(cc.Balance)‘Obtención
  • 36. VB.NET y C# - Herencia En C# la herencia se define: class Cuenta //Clase Base { } class CtaCte : Cuenta //Clase Derivada { } En .NET solo se permite Herencia Simple VB.NET usa la palabra clave Inherits Class Cuenta ‘Clase Base End Class Class CtaCte ‘Clase Derivada Inherits Cuenta End Class
  • 37. VB.NET y C# - Herencia (Cont.) En C# public sealed class Cuenta{ //No se puede heredar de esta clase “sellada” } public abstract class Cuenta{ //No se pueden crear instancias de esta clase, sólo //de sus derivadas } VB.NET Public NotInheritable Class Cuenta ‘No se puede heredar de esta clase End Class Public MustInherit Class Cuenta ‘No se pueden crear instancias de esta clase, sólo de sus ‘derivadas End Class
  • 38. VB.NET y C# - Namespaces C# VB.NET namespaceBancoARG { namespaceGestion { public classCtaCte { } public classCajaAhorro { } } } //Referencia “full” BancoARG.Gestion.CtaCte; BancoARG.Gestion.CajaAhorro; //Referencia “corta” using BancoARG.Gestion; CtaCte cc = new CtaCte(); CajaAhorro ca = new CajaAhorro(); Namespace BancoARG Namespace Gestion Public Class CtaCte End Class Public Class CajaAhorro End Class End Namespace End Namespace ‘Referencia “full” BancoARG.Gestion.CtaCte BancoARG.Gestion.CajaAhorro ‘Referencia a un namespace Imports BancoARG.Gestion Dim cc As New CtaCte() Dim ca As New CajaAhorro()
  • 39. VB.NET y C# - Admin. De Excepciones Excepción: condición anómala de funcionamiento de una aplicación VB.NET usa las palabras Try/Catch/Finally C#: usa las palabras try/catch/finally try { int resultado = x/y; } catch(DivideByZeroException e) { //Error division por cero } catch { //Otro error } finally { //Siempre pasa por aca } Try Dim resultado As Integer resultado = x/y Catch e As DivideByZeroException ‘Error division por cero Catch ‘Otro error Finally ‘Siempre pasa por aca End Try