SlideShare una empresa de Scribd logo
1 de 43
Estrella 0 -Estrella 0 -
Introducción a la ProgramaciónIntroducción a la Programación
Orientada a Objetos en C# yOrientada a Objetos en C# y
Visual Basic.NETVisual Basic.NET
Programa MicrosoftPrograma Microsoft
Desarrollador CincoDesarrollador Cinco
EstrellasEstrellas
ObjetivoObjetivo
Mostrar cómo aplicar los conceptosMostrar cómo aplicar los conceptos
fundamentales de programación orientada afundamentales de programación orientada a
objetos utilizando los lenguajes Microsoftobjetos utilizando los lenguajes Microsoft
Visual C#.NET y Microsoft Visual Basic.NETVisual C#.NET y Microsoft Visual Basic.NET
PrerrequisitosPrerrequisitos
Poseer los conocimientos proporcionadosPoseer los conocimientos proporcionados
en los siguientes módulos de la Estrella 0:en los siguientes módulos de la Estrella 0:
 Fundamentos de ProgramaciónFundamentos de Programación
 Introducción a la Orientación a ObjetosIntroducción a la Orientación a Objetos
Temas a TratarTemas a Tratar
Introducción a C# y VB.NETIntroducción a C# y VB.NET
SintaxisSintaxis
 Temas GeneralesTemas Generales
 Definición e inicialización de variablesDefinición e inicialización de variables
 OperadoresOperadores
 Estructuras de ControlEstructuras de Control
 Clases y ObjetosClases y Objetos
Visual C#.NETVisual C#.NET
Creado especialmente para .NETCreado especialmente para .NET
Estándar ECMA (2002)Estándar ECMA (2002)
Orientado a Objetos y ComponentesOrientado a Objetos y Componentes
Sintaxis derivada de C, C++, Delphi y JavaSintaxis derivada de C, C++, Delphi y Java
Visual Basic.NETVisual Basic.NET
Rediseñado especialmente para .NETRediseñado especialmente para .NET
100% Orientado a Objetos y Componentes100% Orientado a Objetos y Componentes
Salvo por pequeñas excepciones, la sintaxisSalvo por pequeñas excepciones, la sintaxis
es la misma de VB6 y sus predecesoreses la misma de VB6 y sus predecesores
Tiene la misma potencia, robustez yTiene la misma potencia, robustez y
capacidades de acceso a .NET que C#capacidades de acceso a .NET que C#
Compiladores (1/2)Compiladores (1/2)
Compilador de Línea de Comandos C#Compilador de Línea de Comandos C#
 Cumple con la especificación del CLSCumple con la especificación del CLS
 <Win>Microsoft.NETFramework<version>csc.e<Win>Microsoft.NETFramework<version>csc.e
xexe
 Csc /out:XX /target:YY “Archivo1.cs” “Archivo2.cs”Csc /out:XX /target:YY “Archivo1.cs” “Archivo2.cs”
Compilador de Línea de Comandos VB.NETCompilador de Línea de Comandos VB.NET
 Cumple con la especificación del CLSCumple con la especificación del CLS
 <Win>Microsoft.NETFramework<version>vbc.<Win>Microsoft.NETFramework<version>vbc.
exeexe
 vbc /out:XX /target:YY “Archivo1.vb” “Archivo2.vb”vbc /out:XX /target:YY “Archivo1.vb” “Archivo2.vb”
Compiladores (2/2)Compiladores (2/2)
Algunas opciones útilesAlgunas opciones útiles
/out:<file>/out:<file> Nombre del archivo de salidaNombre del archivo de salida
/target:exe/winexe/library/target:exe/winexe/library Consola/Windows/DLLConsola/Windows/DLL
/reference:<file list>/reference:<file list> Assemblies de referenciaAssemblies de referencia
/doc:<file>/doc:<file> Archivo de documentaciónArchivo de documentación
/debug[+|-]/debug[+|-] Emitir info de DEBUGEmitir info de DEBUG
/main:<type>/main:<type> Determina la clase que poseeDetermina la clase que posee
el Entry Point (ignora los otrosel Entry Point (ignora los otros
posibles)posibles)
/lib:<file list>/lib:<file list> Directorios de libreríasDirectorios de librerías
Temas a TratarTemas a Tratar
Introducción a C# y VB.NETIntroducción a C# y VB.NET
SintaxisSintaxis
 Temas GeneralesTemas Generales
 Definición e inicialización de variablesDefinición e inicialización de variables
 OperadoresOperadores
 Estructuras de ControlEstructuras de Control
 Clases y ObjetosClases y Objetos
VB.NET y C# - Terminación de líneaVB.NET y C# - Terminación de línea
C#: la línea finaliza con un “ ; ”C#: la línea finaliza con un “ ; ”
VB.NET: la línea finaliza con un salto de líneaVB.NET: la línea finaliza con un salto de línea
//Una linea con mas de un renglon
string nombre = primerNombre +
apellido;
//El punto y coma indica FINAL de linea
'Una linea con mas de un renglon
Dim nombre As String = primerNombre & _
apellido
VB.NET y C# - Declaración de BloquesVB.NET y C# - Declaración de Bloques
En C# los bloques se declaran entre llavesEn C# los bloques se declaran entre llaves
En VB.NET cada bloque tiene su sentencia deEn VB.NET cada bloque tiene su sentencia de
apertura y su sentencia de cierre, que normalmenteapertura y su sentencia de cierre, que normalmente
empieza con la palabra “End”empieza con la palabra “End”
class MainClass{
public static void Main(string[] args) {
Console.WriteLine("Hello World!");
}
}
Class Main
Public Shared Sub Main()
Console.WriteLine("Hello World!")
End Sub
End Class
VB.NET y C# - ComentariosVB.NET y C# - Comentarios
C# soporta tres tipos de comentariosC# soporta tres tipos 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> La suma entera de ambos operandos</returns>
public int Sumar (int x, int y) {return x + y;}
}
VB.NET y C# - ComentariosVB.NET y C# - Comentarios
VB.NET soporta dos tipos de comentariosVB.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> La suma 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 SensitivityVB.NET y C# - Case Sensitivity
C# distingue entre mayúsuclas y minúsculasC# distingue entre mayúsuclas y minúsculas
VB.NET no distingue entre mayúsuclas y minúsculasVB.NET no distingue entre mayúsuclas y minúsculas
system.console.writeline(“HOLA”); INCORRECTO
System.Console.WriteLine(“HOLA”); CORRECTO
system.console.writeline(“HOLA”) CORRECTO
System.Console.WriteLine(“HOLA”) CORRECTO
Temas a TratarTemas a Tratar
Introducción a C# y VB.NETIntroducción a C# y VB.NET
SintaxisSintaxis
 Temas GeneralesTemas Generales
 Definición e inicialización de variablesDefinición e inicialización de variables
 OperadoresOperadores
 Estructuras de ControlEstructuras de Control
 Clases y ObjetosClases y Objetos
Tipos de DatosTipos de Datos
Categoría Clase Descripción C# Alias
VB.NET
Alias
Enteros Byte Un entero sin signo (8-bit) byte Byte
SByte Un entero con signo (8-bit) sbyte Sbyte
Int16 Un entero con signo (16-bit) short Short
Int32 Un entero con signo (32-bit) int Integer
Int64 Un entero con signo (64-bit) long Long
Punto
Flotante Single
Un número de punto flotante de simple precisión
(32-bit) float Single
Double
Un número de punto flotante de doble precisión
(64-bit) double Double
Decimal Un número decimal de 96-bit decimal Decimal
Lógicos Boolean Un valor booleano (true o false) bool Boolean
Otros Char Un caracter Unicode (16-bit) char Char
Object La raíz de la jerarquía de objetos object Object
String
Una cadena de caracteres unicode inmutable y
de tamaño fijo string String
VB.NET y C# - Alcance de miembrosVB.NET y C# - Alcance de miembros
MiembroMiembro: se refiere a los campos, propiedades, métodos,: se refiere a los campos, propiedades, métodos,
eventos, clases anidadas, etc.eventos, clases anidadas, etc.
C#:C#: todo miembro es declarado comotodo miembro es declarado como PRIVATEPRIVATE porpor
defaultdefault
VB.NET:VB.NET: todo miembro es declarado comotodo miembro es declarado como PUBLICPUBLIC porpor
defaultdefault
Modificadores de acceso disponibles:Modificadores de acceso disponibles:
Protected Friendprotected internal
Protectedprotected
Friendinternal
Privateprivate
Publicpublic
VB.NETC#
VB.NET y C# - Declaración de VariablesVB.NET y C# - Declaración de Variables
C#: el tipo de dato precede al identificador (nombre)C#: el tipo de dato precede al identificador (nombre)
VB.NET: comienza con “Dim” o algún modificador deVB.NET: comienza con “Dim” o algún modificador de
acceso (Public, Private, etc.) + identificador de laacceso (Public, Private, etc.) + identificador de la
variable + “As” Tipo de Datovariable + “As” Tipo de Dato
int x;
decimal y;
rectangle z;
Cliente cli;
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 VariablesVB.NET y C# - Inicialización de Variables
C#:C#: toda variable debe ser inicializadatoda variable debe ser inicializada
EXPLICITAMENTE antes de ser usadaEXPLICITAMENTE antes de ser usada
VB.NET: inicializa automáticamente las variables enVB.NET: inicializa automáticamente las variables en
CERO o en NothingCERO o en Nothing
int tempBalance; //variable local
//ERROR: tempBalance NO ha sido inicializada
System.Console.WriteLine(tempBalance);
Dim tempBalance As Integer
'SIN ERROR: tempBalance vale CERO
System.Console.WriteLine(tempBalance)
VB.NET y C# - Conversiones de TiposVB.NET y C# - Conversiones de Tipos
C# no permite conversiones implícitas de tiposC# no permite conversiones implícitas de tipos
Si falla el cast se devuelve null o InvalidCastExceptionSi falla el cast se devuelve null o InvalidCastException
VB.NET usa las directivas del compilador Option StrictVB.NET usa las directivas del compilador Option Strict
Si falla el cast siempre se genera una InvalidCastExceptionSi falla el cast siempre se genera una 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”
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# - ArreglosVB.NET y C# - Arreglos
C# utiliza corchetes [ ] para definición de arraysC# utiliza corchetes [ ] para definición de arrays
VB.NET permite definir arrays de varias formas con ()VB.NET permite definir arrays de varias formas con ()
string[] telefonos; //Definicion de un Arreglo de strings
telefonos = new string[3]; //De 3 elementos
telefonos[0] = “1245”; //Seteo del 1er elemento del arreglo
//Definicion y asignacion de una vez
telefonos = new string[] {“1”,“2”,“3”};
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”}
Temas a TratarTemas a Tratar
Introducción a C# y VB.NETIntroducción a C# y VB.NET
SintaxisSintaxis
 Temas GeneralesTemas Generales
 Definición e inicialización de variablesDefinición e inicialización de variables
 OperadoresOperadores
 Estructuras de ControlEstructuras de Control
 Clases y ObjetosClases y Objetos
VB.NET y C# - OperadoresVB.NET y C# - Operadores
Descripción C# VB.NET
Asignación = =
Adición + +
Sustracción - -
Multiplicación * *
División / /
Negación ! not
Módulo (Parte entera de la división) % mod
Mayor > >
Menor < <
Mayor o Igual >= >=
Menor o Igual <= <=
VB.NET y C# - Operadores LógicosVB.NET y C# - Operadores Lógicos
Distinto<>!=
Igual===
Negacion logicaNot!
Operador logico OOrll
Operador logico YAnd&&
OperadorVB.NETC#
En C# todas las evaluaciones se hacen por “cortocircuito”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 yEn VB.NET se debe utilizar los operadores AndAlso y
OrElseOrElse
‘Si Hacer1() es True, entonces ‘Si Hacer1() es False, entonces
‘NO se evalua Hacer2() ‘NO se evalua Hacer2()
If Hacer1() OrElse Hacer2() Then If Hacer1() AndAlso Hacer2() Then
... ...
End If End If
Temas a TratarTemas a Tratar
Introducción a C# y VB.NETIntroducción a C# y VB.NET
SintaxisSintaxis
 Temas GeneralesTemas Generales
 Definición e inicialización de variablesDefinición e inicialización de variables
 OperadoresOperadores
 Estructuras de ControlEstructuras de Control
 Clases y ObjetosClases y Objetos
if (x > 10) if (x < 10) if (x < 10) if (x < 10)
HacerAlgo(); { { {
Hacer1(); Hacer1(); Hacer1();
Hacer2(); } }
} else else if (x > 20)
{ {
Hacer2(); Hacer2();
} }
else
{
Hacer3();
}
VB.NET y C# - Sentencias condicionalesVB.NET y C# - Sentencias condicionales
C#: sentencia if con varios formatosC#: sentencia if con varios formatos
VB.NET: la sentencia If requiere de la palabra ThenVB.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
int a = 0;
switch(a) {
case 1:{//CODIGO 1
break;
}
case 2: {//CODIGO 2
break;
}
default:{//CODIGO DEFAULT
break;
}
}
VB.NET y C# - Sentencias condicionalesVB.NET y C# - Sentencias condicionales
C#: sentencia caseC#: sentencia case
VB.NET: sentencia caseVB.NET: sentencia case
Dim a As Integer = 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 forVB.NET y C# - Sentencia for
C#: la sentencia for consta de tres partesC#: la sentencia for consta de tres partes
VB.NET usa las palabras claves For, To, Next y StepVB.NET usa las palabras claves For, To, Next y Step
//Partes: declaración, prueba, acción
for (int i=1; i < 10; i++)
{
}
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
Next Next
VB.NET y C# - Sentencia for/eachVB.NET y C# - Sentencia for/each
C#: usa la palabra foreachC#: usa la palabra foreach
VB.NET usa las palabra For EachVB.NET usa las palabra For Each
string[] nombres = new string[5];
foreach(string auxNombre in nombres)
{
//auxNombre es de SOLO LECTURA
}
Dim nombres(5) As String
Dim auxNombre As String
For Each auxNombre In nombres
‘auxNombre NO es de SOLO LECTURA
Next
For/Each permite recorrer arreglos y coleccionesFor/Each permite recorrer arreglos y colecciones
VB.NET y C# - Sentencia whileVB.NET y C# - Sentencia while
C#:C#:
VB.NET:VB.NET:
bool condicion = true;
while (condicion == true){
//En algún momento poner condicion = false
}
Dim condicion As Boolean = True
While condicion = True
'Poner condicion=false en algún momento
End While
Temas a TratarTemas a Tratar
Introducción a C# y VB.NETIntroducción a C# y VB.NET
SintaxisSintaxis
 Temas GeneralesTemas Generales
 Definición e inicialización de variablesDefinición e inicialización de variables
 OperadoresOperadores
 Estructuras de ControlEstructuras de Control
 Clases y ObjetosClases y Objetos
VB.NET y C# - ClasesVB.NET y C# - Clases
C#: las clases son declaradas mediante classC#: las clases son declaradas mediante class
VB.NET usa las palabras Class / End ClassVB.NET usa las palabras Class / End Class
//Definicion de la clase CuentaBancaria
class CuentaBancaria
{
//Definicion de miembros
}
‘Definicion de la clase CuentaBancaria
Class CuentaBancaria
‘Definicion de miembros
End Class
Sintaxis – Entry PointSintaxis – Entry Point
C#:C#:
public class HolaMundo {
public static void Main(string[] args){
//Punto de entrada de la aplicación
}
}
VB.NETVB.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étodosVB.NET y C# - Métodos
En C# todo método es una funciónEn C# todo método es una función
VB.NET usa procedimientos Sub y funciones FunctionVB.NET usa procedimientos Sub y funciones Function
public void HacerDeposito(int importe) //No devuelve valor
{
}
public int ObtenerInventario(int codArticulo) //Devuelve un entero
{
}
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
Métodos: acciones que un objeto puede llevar a cabo.Métodos: acciones que un objeto puede llevar a cabo.
VB.NET y C# - ConstructoresVB.NET y C# - Constructores
EnEn C#C# tienen el mismo nombre de la clasetienen el mismo nombre de la clase
VB.NET usa un procedimiento Sub NewVB.NET usa un procedimiento Sub New
class CtaCte
{
public CtaCte(){...} //Const. por default
public CtaCte(int i){...} //Const. con un parametro
}
Class CtaCte
Sub New()
End Sub
Sub New(ByVal i As Integer)
End Sub
End Class
Constructor: métodos dentro de la clase que son llamadosConstructor: métodos dentro de la clase que son llamados
automáticamente cuando se crea una instancia de dicha clase.automáticamente cuando se crea una instancia de dicha clase.
VB.NET y C# - Sobrecarga de MétodosVB.NET y C# - Sobrecarga de Métodos
C#C#
VB.NETVB.NET
public void HacerDeposito(int importe)
{
}
public void HacerDeposito(int importe, bool acreditar)
{
}
Public Sub HacerDeposito(ByVal imp As Integer)
End Sub
Public Sub HacerDeposito(ByVal imp As Integer, ByVal acreditar As Boolean)
End Sub
SobrecargaSobrecarga:: varios métodos con el mismo nombre perovarios métodos con el mismo nombre pero
diferente “firma”.diferente “firma”.
VB.NET y C# - Métodos estáticosVB.NET y C# - Métodos estáticos
C#C#
VB.NETVB.NET
public static void HacerDeposito(int importe)
{
}
Public Shared Sub HacerDeposito(ByVal imp As Integer)
End Sub
Miembros que no requieren de una instancia para serMiembros que no requieren de una instancia para ser
invocados. Se los llama métodos “de clase”invocados. Se los llama métodos “de clase”
VB.NET y C# - PropiedadesVB.NET y C# - Propiedades
Propiedad: característica o atributo de un objetoPropiedad: característica o atributo de un objeto
C#C# VB.NETVB.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# - HerenciaVB.NET y C# - Herencia
En C# la herencia se define:En C# la herencia se define:
VB.NET usa la palabra clave InheritsVB.NET usa la palabra clave Inherits
class Cuenta //Clase Base
{
}
class CtaCte : Cuenta //Clase Derivada
{
}
Class Cuenta ‘Clase Base
End Class
Class CtaCte ‘Clase Derivada
Inherits Cuenta
End Class
En .NET solo
se permite
Herencia
Simple
VB.NET y C# - Herencia (Cont.)VB.NET y C# - Herencia (Cont.)
En C#En C#
VB.NETVB.NET
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
}
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# - NamespacesVB.NET y C# - Namespaces
C#C# VB.NETVB.NET
namespace BancoARG
{
namespace Gestion
{
public class CtaCte
{
}
public class CajaAhorro
{
}
}
}
//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 ExcepcionesVB.NET y C# - Admin. De Excepciones
C#: usa las palabrasC#: usa las palabras
try/catch/finallytry/catch/finally
VB.NET usa las palabrasVB.NET usa las palabras
Try/Catch/FinallyTry/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
Excepción: condición anómala de funcionamiento de unaExcepción: condición anómala de funcionamiento de una
aplicaciónaplicación
© 2005 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Más contenido relacionado

La actualidad más candente (18)

Java script(diapositivas)
Java script(diapositivas) Java script(diapositivas)
Java script(diapositivas)
 
Entorno de desarrollo en c++
Entorno de desarrollo en c++Entorno de desarrollo en c++
Entorno de desarrollo en c++
 
Curso de lenguaje C
Curso de lenguaje CCurso de lenguaje C
Curso de lenguaje C
 
Lenguaje c neo
Lenguaje c neoLenguaje c neo
Lenguaje c neo
 
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
 
Lenguaje c 2
Lenguaje c 2Lenguaje c 2
Lenguaje c 2
 
C(++) programacion en c y c++
C(++)   programacion en c y c++C(++)   programacion en c y c++
C(++) programacion en c y c++
 
Introducción a la codificación en lenguaje C
Introducción a la codificación en lenguaje CIntroducción a la codificación en lenguaje C
Introducción a la codificación en lenguaje C
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguaje c 2_neo
Lenguaje c 2_neoLenguaje c 2_neo
Lenguaje c 2_neo
 
Programación en C++
Programación en C++Programación en C++
Programación en C++
 
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOS
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOSPRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOS
PRESENTACION LENGUAJE C Y SISTEMAS OPERATIVOS
 
Crack Distribuido Atabuido
Crack Distribuido AtabuidoCrack Distribuido Atabuido
Crack Distribuido Atabuido
 
Cesar ivan lenguaje_c
Cesar ivan lenguaje_cCesar ivan lenguaje_c
Cesar ivan lenguaje_c
 
Programa c++
Programa c++Programa c++
Programa c++
 
Lenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesLenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y Componentes
 
Turbo c++
Turbo c++Turbo c++
Turbo c++
 
Tutorial lenguaje c
Tutorial lenguaje cTutorial lenguaje c
Tutorial lenguaje c
 

Destacado (20)

Comercio electronico
Comercio electronicoComercio electronico
Comercio electronico
 
Serie la agonia sobre la cruz by eliud gamez rev1 preview
Serie  la agonia sobre la cruz by eliud gamez rev1 previewSerie  la agonia sobre la cruz by eliud gamez rev1 preview
Serie la agonia sobre la cruz by eliud gamez rev1 preview
 
Asegurar el éxito en político
Asegurar el éxito en políticoAsegurar el éxito en político
Asegurar el éxito en político
 
Variables
VariablesVariables
Variables
 
Abf leccion 06
Abf leccion 06Abf leccion 06
Abf leccion 06
 
Abf leccion 18
Abf leccion 18Abf leccion 18
Abf leccion 18
 
Cuba reclama Justicia 2013
Cuba reclama Justicia 2013Cuba reclama Justicia 2013
Cuba reclama Justicia 2013
 
Dce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacionDce0 fundamentos deprogramacion
Dce0 fundamentos deprogramacion
 
Tejidos animales
Tejidos animalesTejidos animales
Tejidos animales
 
Empanada Lunch - May 2013
Empanada Lunch - May 2013Empanada Lunch - May 2013
Empanada Lunch - May 2013
 
Semana 3 estructuras de control
Semana 3 estructuras de controlSemana 3 estructuras de control
Semana 3 estructuras de control
 
El amor
El amorEl amor
El amor
 
Gianni rodari
Gianni rodariGianni rodari
Gianni rodari
 
962
962962
962
 
Las marcas políticas en el Perú
Las marcas políticas en el PerúLas marcas políticas en el Perú
Las marcas políticas en el Perú
 
Manual de base de datos
Manual de base de datosManual de base de datos
Manual de base de datos
 
Rusia12
Rusia12Rusia12
Rusia12
 
Rc. café. 1era reunión pública ta ca oct 31 2014
Rc. café.  1era reunión pública ta ca oct 31 2014Rc. café.  1era reunión pública ta ca oct 31 2014
Rc. café. 1era reunión pública ta ca oct 31 2014
 
PRESENTACION I1_OPERA NAVEGADOR
PRESENTACION I1_OPERA NAVEGADORPRESENTACION I1_OPERA NAVEGADOR
PRESENTACION I1_OPERA NAVEGADOR
 
Tutorial combinar correspondencia
Tutorial combinar correspondenciaTutorial combinar correspondencia
Tutorial combinar correspondencia
 

Similar a Dce0 programacion oo_c__vbnet

Dce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnetDce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnetmaurgilez
 
Programacion c# vbnet
Programacion c# vbnetProgramacion c# vbnet
Programacion c# vbnetKevin Reaño
 
Dce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnetDce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnetmaurgilez
 
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 Cguest109254
 
Visual Basic
Visual  BasicVisual  Basic
Visual BasicBenedeti
 
Migracion a Visual Basic .NET
Migracion a Visual Basic .NETMigracion a Visual Basic .NET
Migracion a Visual Basic .NETV Sanchez
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NETbrobelo
 
PROGRAMAS DECOMPILADORES
PROGRAMAS DECOMPILADORESPROGRAMAS DECOMPILADORES
PROGRAMAS DECOMPILADORESRubnPilca
 
Introduccion microsoft.net
Introduccion microsoft.netIntroduccion microsoft.net
Introduccion microsoft.netEdison
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.netnavane
 
Des.Apli.Net 02.Sintaxis C Sharp
Des.Apli.Net 02.Sintaxis C SharpDes.Apli.Net 02.Sintaxis C Sharp
Des.Apli.Net 02.Sintaxis C Sharperiveraa
 

Similar a Dce0 programacion oo_c__vbnet (20)

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
 
Dce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnetDce0 programacion oo_c#_vbnet
Dce0 programacion oo_c#_vbnet
 
Programacion C#
Programacion C#Programacion C#
Programacion 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
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
 
Programación III
Programación IIIProgramación III
Programación III
 
Visual Basic
Visual  BasicVisual  Basic
Visual Basic
 
Migracion a Visual Basic .NET
Migracion a Visual Basic .NETMigracion a Visual Basic .NET
Migracion a Visual Basic .NET
 
Csharp
CsharpCsharp
Csharp
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NET
 
PROGRAMAS DECOMPILADORES
PROGRAMAS DECOMPILADORESPROGRAMAS DECOMPILADORES
PROGRAMAS DECOMPILADORES
 
Introduccion Microsoft.net
Introduccion Microsoft.netIntroduccion Microsoft.net
Introduccion Microsoft.net
 
Introduccion microsoft.net
Introduccion microsoft.netIntroduccion microsoft.net
Introduccion microsoft.net
 
Dce1 introduccion microsoft.net
Dce1 introduccion microsoft.netDce1 introduccion microsoft.net
Dce1 introduccion microsoft.net
 
Clase 1.pdf
Clase 1.pdfClase 1.pdf
Clase 1.pdf
 
Tipos Datos y Operadores en Visual C# (C sharp)
Tipos Datos y Operadores en Visual C# (C sharp)Tipos Datos y Operadores en Visual C# (C sharp)
Tipos Datos y Operadores en Visual C# (C sharp)
 
Des.Apli.Net 02.Sintaxis C Sharp
Des.Apli.Net 02.Sintaxis C SharpDes.Apli.Net 02.Sintaxis C Sharp
Des.Apli.Net 02.Sintaxis C Sharp
 
Programacion en C#
Programacion en C#Programacion en C#
Programacion en C#
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
 
Csharp
CsharpCsharp
Csharp
 

Más de victdiazm

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resueltavictdiazm
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resueltavictdiazm
 
Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resueltavictdiazm
 
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resueltavictdiazm
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resueltavictdiazm
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltavictdiazm
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashvictdiazm
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsvictdiazm
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltavictdiazm
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_toursvictdiazm
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y gruposvictdiazm
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesvictdiazm
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basicovictdiazm
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesosvictdiazm
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesvictdiazm
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de stringvictdiazm
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxvictdiazm
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diazvictdiazm
 

Más de victdiazm (20)

Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 9 standard io and pipes guia de ejercicios resuelta
Semana 9   standard io and pipes  guia de ejercicios resueltaSemana 9   standard io and pipes  guia de ejercicios resuelta
Semana 9 standard io and pipes guia de ejercicios resuelta
 
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
Semana 7 y 8   the linux filesystem guia de ejercicios resueltaSemana 7 y 8   the linux filesystem guia de ejercicios resuelta
Semana 7 y 8 the linux filesystem guia de ejercicios resuelta
 
Semana 4 y 5 la shell bash guia de ejercicios resuelta
Semana 4 y 5  la shell bash guia de ejercicios resueltaSemana 4 y 5  la shell bash guia de ejercicios resuelta
Semana 4 y 5 la shell bash guia de ejercicios resuelta
 
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3   file ownerships and permissions guia de ejercicios resueltaSemana 2 y 3   file ownerships and permissions guia de ejercicios resuelta
Semana 2 y 3 file ownerships and permissions guia de ejercicios resuelta
 
Semana 1 quick tours guia de ejercicios resuelta
Semana 1   quick tours guia de ejercicios resueltaSemana 1   quick tours guia de ejercicios resuelta
Semana 1 quick tours guia de ejercicios resuelta
 
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resueltaSemana 10 -_managing_processes_guia_de_ejercicios_resuelta
Semana 10 -_managing_processes_guia_de_ejercicios_resuelta
 
Semana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bashSemana 4 y_5_-_la_shell_bash
Semana 4 y_5_-_la_shell_bash
 
Semana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissionsSemana 2 y_3_-_file_ownerships_and_permissions
Semana 2 y_3_-_file_ownerships_and_permissions
 
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resueltaSemana 1 -_quick_tours_guia_de_ejercicios_resuelta
Semana 1 -_quick_tours_guia_de_ejercicios_resuelta
 
Semana 1 -_quick_tours
Semana 1 -_quick_toursSemana 1 -_quick_tours
Semana 1 -_quick_tours
 
Semana 16 usuarios y grupos
Semana 16 usuarios y gruposSemana 16 usuarios y grupos
Semana 16 usuarios y grupos
 
Semana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redesSemana 13 y 14 aplicaciones de redes
Semana 13 y 14 aplicaciones de redes
 
Semana 12 filesystem basico
Semana 12  filesystem basicoSemana 12  filesystem basico
Semana 12 filesystem basico
 
Semana 10 administracion de procesos
Semana 10 administracion de procesosSemana 10 administracion de procesos
Semana 10 administracion de procesos
 
Semana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipesSemana 9 entradas salidas estandar y pipes
Semana 9 entradas salidas estandar y pipes
 
Semana 8 herramientas de procesos de string
Semana 8  herramientas de procesos de stringSemana 8  herramientas de procesos de string
Semana 8 herramientas de procesos de string
 
Semana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linuxSemana 7 y 8 sistemas de archivos linux
Semana 7 y 8 sistemas de archivos linux
 
Script
ScriptScript
Script
 
Control1 victoria diaz
Control1   victoria diazControl1   victoria diaz
Control1 victoria diaz
 

Dce0 programacion oo_c__vbnet

  • 1. Estrella 0 -Estrella 0 - Introducción a la ProgramaciónIntroducción a la Programación Orientada a Objetos en C# yOrientada a Objetos en C# y Visual Basic.NETVisual Basic.NET Programa MicrosoftPrograma Microsoft Desarrollador CincoDesarrollador Cinco EstrellasEstrellas
  • 2. ObjetivoObjetivo Mostrar cómo aplicar los conceptosMostrar cómo aplicar los conceptos fundamentales de programación orientada afundamentales de programación orientada a objetos utilizando los lenguajes Microsoftobjetos utilizando los lenguajes Microsoft Visual C#.NET y Microsoft Visual Basic.NETVisual C#.NET y Microsoft Visual Basic.NET
  • 3. PrerrequisitosPrerrequisitos Poseer los conocimientos proporcionadosPoseer los conocimientos proporcionados en los siguientes módulos de la Estrella 0:en los siguientes módulos de la Estrella 0:  Fundamentos de ProgramaciónFundamentos de Programación  Introducción a la Orientación a ObjetosIntroducción a la Orientación a Objetos
  • 4. Temas a TratarTemas a Tratar Introducción a C# y VB.NETIntroducción a C# y VB.NET SintaxisSintaxis  Temas GeneralesTemas Generales  Definición e inicialización de variablesDefinición e inicialización de variables  OperadoresOperadores  Estructuras de ControlEstructuras de Control  Clases y ObjetosClases y Objetos
  • 5. Visual C#.NETVisual C#.NET Creado especialmente para .NETCreado especialmente para .NET Estándar ECMA (2002)Estándar ECMA (2002) Orientado a Objetos y ComponentesOrientado a Objetos y Componentes Sintaxis derivada de C, C++, Delphi y JavaSintaxis derivada de C, C++, Delphi y Java
  • 6. Visual Basic.NETVisual Basic.NET Rediseñado especialmente para .NETRediseñado especialmente para .NET 100% Orientado a Objetos y Componentes100% Orientado a Objetos y Componentes Salvo por pequeñas excepciones, la sintaxisSalvo por pequeñas excepciones, la sintaxis es la misma de VB6 y sus predecesoreses la misma de VB6 y sus predecesores Tiene la misma potencia, robustez yTiene la misma potencia, robustez y capacidades de acceso a .NET que C#capacidades de acceso a .NET que C#
  • 7. Compiladores (1/2)Compiladores (1/2) Compilador de Línea de Comandos C#Compilador de Línea de Comandos C#  Cumple con la especificación del CLSCumple con la especificación del CLS  <Win>Microsoft.NETFramework<version>csc.e<Win>Microsoft.NETFramework<version>csc.e xexe  Csc /out:XX /target:YY “Archivo1.cs” “Archivo2.cs”Csc /out:XX /target:YY “Archivo1.cs” “Archivo2.cs” Compilador de Línea de Comandos VB.NETCompilador de Línea de Comandos VB.NET  Cumple con la especificación del CLSCumple con la especificación del CLS  <Win>Microsoft.NETFramework<version>vbc.<Win>Microsoft.NETFramework<version>vbc. exeexe  vbc /out:XX /target:YY “Archivo1.vb” “Archivo2.vb”vbc /out:XX /target:YY “Archivo1.vb” “Archivo2.vb”
  • 8. Compiladores (2/2)Compiladores (2/2) Algunas opciones útilesAlgunas opciones útiles /out:<file>/out:<file> Nombre del archivo de salidaNombre del archivo de salida /target:exe/winexe/library/target:exe/winexe/library Consola/Windows/DLLConsola/Windows/DLL /reference:<file list>/reference:<file list> Assemblies de referenciaAssemblies de referencia /doc:<file>/doc:<file> Archivo de documentaciónArchivo de documentación /debug[+|-]/debug[+|-] Emitir info de DEBUGEmitir info de DEBUG /main:<type>/main:<type> Determina la clase que poseeDetermina la clase que posee el Entry Point (ignora los otrosel Entry Point (ignora los otros posibles)posibles) /lib:<file list>/lib:<file list> Directorios de libreríasDirectorios de librerías
  • 9. Temas a TratarTemas a Tratar Introducción a C# y VB.NETIntroducción a C# y VB.NET SintaxisSintaxis  Temas GeneralesTemas Generales  Definición e inicialización de variablesDefinición e inicialización de variables  OperadoresOperadores  Estructuras de ControlEstructuras de Control  Clases y ObjetosClases y Objetos
  • 10. VB.NET y C# - Terminación de líneaVB.NET y C# - Terminación de línea C#: la línea finaliza con un “ ; ”C#: la línea finaliza con un “ ; ” VB.NET: la línea finaliza con un salto de líneaVB.NET: la línea finaliza con un salto de línea //Una linea con mas de un renglon string nombre = primerNombre + apellido; //El punto y coma indica FINAL de linea 'Una linea con mas de un renglon Dim nombre As String = primerNombre & _ apellido
  • 11. VB.NET y C# - Declaración de BloquesVB.NET y C# - Declaración de Bloques En C# los bloques se declaran entre llavesEn C# los bloques se declaran entre llaves En VB.NET cada bloque tiene su sentencia deEn VB.NET cada bloque tiene su sentencia de apertura y su sentencia de cierre, que normalmenteapertura y su sentencia de cierre, que normalmente empieza con la palabra “End”empieza con la palabra “End” class MainClass{ public static void Main(string[] args) { Console.WriteLine("Hello World!"); } } Class Main Public Shared Sub Main() Console.WriteLine("Hello World!") End Sub End Class
  • 12. VB.NET y C# - ComentariosVB.NET y C# - Comentarios C# soporta tres tipos de comentariosC# soporta tres tipos 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> La suma entera de ambos operandos</returns> public int Sumar (int x, int y) {return x + y;} }
  • 13. VB.NET y C# - ComentariosVB.NET y C# - Comentarios VB.NET soporta dos tipos de comentariosVB.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> La suma entera de ambos operandos</returns> Public Function Sumar (x as Integer, y as Integer) as Integer return x + y End Function
  • 14. VB.NET y C# - Case SensitivityVB.NET y C# - Case Sensitivity C# distingue entre mayúsuclas y minúsculasC# distingue entre mayúsuclas y minúsculas VB.NET no distingue entre mayúsuclas y minúsculasVB.NET no distingue entre mayúsuclas y minúsculas system.console.writeline(“HOLA”); INCORRECTO System.Console.WriteLine(“HOLA”); CORRECTO system.console.writeline(“HOLA”) CORRECTO System.Console.WriteLine(“HOLA”) CORRECTO
  • 15. Temas a TratarTemas a Tratar Introducción a C# y VB.NETIntroducción a C# y VB.NET SintaxisSintaxis  Temas GeneralesTemas Generales  Definición e inicialización de variablesDefinición e inicialización de variables  OperadoresOperadores  Estructuras de ControlEstructuras de Control  Clases y ObjetosClases y Objetos
  • 16. Tipos de DatosTipos de Datos Categoría Clase Descripción C# Alias VB.NET Alias Enteros Byte Un entero sin signo (8-bit) byte Byte SByte Un entero con signo (8-bit) sbyte Sbyte Int16 Un entero con signo (16-bit) short Short Int32 Un entero con signo (32-bit) int Integer Int64 Un entero con signo (64-bit) long Long Punto Flotante Single Un número de punto flotante de simple precisión (32-bit) float Single Double Un número de punto flotante de doble precisión (64-bit) double Double Decimal Un número decimal de 96-bit decimal Decimal Lógicos Boolean Un valor booleano (true o false) bool Boolean Otros Char Un caracter Unicode (16-bit) char Char Object La raíz de la jerarquía de objetos object Object String Una cadena de caracteres unicode inmutable y de tamaño fijo string String
  • 17. VB.NET y C# - Alcance de miembrosVB.NET y C# - Alcance de miembros MiembroMiembro: se refiere a los campos, propiedades, métodos,: se refiere a los campos, propiedades, métodos, eventos, clases anidadas, etc.eventos, clases anidadas, etc. C#:C#: todo miembro es declarado comotodo miembro es declarado como PRIVATEPRIVATE porpor defaultdefault VB.NET:VB.NET: todo miembro es declarado comotodo miembro es declarado como PUBLICPUBLIC porpor defaultdefault Modificadores de acceso disponibles:Modificadores de acceso disponibles: Protected Friendprotected internal Protectedprotected Friendinternal Privateprivate Publicpublic VB.NETC#
  • 18. VB.NET y C# - Declaración de VariablesVB.NET y C# - Declaración de Variables C#: el tipo de dato precede al identificador (nombre)C#: el tipo de dato precede al identificador (nombre) VB.NET: comienza con “Dim” o algún modificador deVB.NET: comienza con “Dim” o algún modificador de acceso (Public, Private, etc.) + identificador de laacceso (Public, Private, etc.) + identificador de la variable + “As” Tipo de Datovariable + “As” Tipo de Dato int x; decimal y; rectangle z; Cliente cli; Dim x As Integer ‘Dim es = a Private por defecto Dim y As Decimal Dim z As Rectangle Dim cli As Cliente
  • 19. VB.NET y C# - Inicialización de VariablesVB.NET y C# - Inicialización de Variables C#:C#: toda variable debe ser inicializadatoda variable debe ser inicializada EXPLICITAMENTE antes de ser usadaEXPLICITAMENTE antes de ser usada VB.NET: inicializa automáticamente las variables enVB.NET: inicializa automáticamente las variables en CERO o en NothingCERO o en Nothing int tempBalance; //variable local //ERROR: tempBalance NO ha sido inicializada System.Console.WriteLine(tempBalance); Dim tempBalance As Integer 'SIN ERROR: tempBalance vale CERO System.Console.WriteLine(tempBalance)
  • 20. VB.NET y C# - Conversiones de TiposVB.NET y C# - Conversiones de Tipos C# no permite conversiones implícitas de tiposC# no permite conversiones implícitas de tipos Si falla el cast se devuelve null o InvalidCastExceptionSi falla el cast se devuelve null o InvalidCastException VB.NET usa las directivas del compilador Option StrictVB.NET usa las directivas del compilador Option Strict Si falla el cast siempre se genera una InvalidCastExceptionSi falla el cast siempre se genera una 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” 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
  • 21. VB.NET y C# - ArreglosVB.NET y C# - Arreglos C# utiliza corchetes [ ] para definición de arraysC# utiliza corchetes [ ] para definición de arrays VB.NET permite definir arrays de varias formas con ()VB.NET permite definir arrays de varias formas con () string[] telefonos; //Definicion de un Arreglo de strings telefonos = new string[3]; //De 3 elementos telefonos[0] = “1245”; //Seteo del 1er elemento del arreglo //Definicion y asignacion de una vez telefonos = new string[] {“1”,“2”,“3”}; 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”}
  • 22. Temas a TratarTemas a Tratar Introducción a C# y VB.NETIntroducción a C# y VB.NET SintaxisSintaxis  Temas GeneralesTemas Generales  Definición e inicialización de variablesDefinición e inicialización de variables  OperadoresOperadores  Estructuras de ControlEstructuras de Control  Clases y ObjetosClases y Objetos
  • 23. VB.NET y C# - OperadoresVB.NET y C# - Operadores Descripción C# VB.NET Asignación = = Adición + + Sustracción - - Multiplicación * * División / / Negación ! not Módulo (Parte entera de la división) % mod Mayor > > Menor < < Mayor o Igual >= >= Menor o Igual <= <=
  • 24. VB.NET y C# - Operadores LógicosVB.NET y C# - Operadores Lógicos Distinto<>!= Igual=== Negacion logicaNot! Operador logico OOrll Operador logico YAnd&& OperadorVB.NETC# En C# todas las evaluaciones se hacen por “cortocircuito”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 yEn VB.NET se debe utilizar los operadores AndAlso y OrElseOrElse ‘Si Hacer1() es True, entonces ‘Si Hacer1() es False, entonces ‘NO se evalua Hacer2() ‘NO se evalua Hacer2() If Hacer1() OrElse Hacer2() Then If Hacer1() AndAlso Hacer2() Then ... ... End If End If
  • 25. Temas a TratarTemas a Tratar Introducción a C# y VB.NETIntroducción a C# y VB.NET SintaxisSintaxis  Temas GeneralesTemas Generales  Definición e inicialización de variablesDefinición e inicialización de variables  OperadoresOperadores  Estructuras de ControlEstructuras de Control  Clases y ObjetosClases y Objetos
  • 26. if (x > 10) if (x < 10) if (x < 10) if (x < 10) HacerAlgo(); { { { Hacer1(); Hacer1(); Hacer1(); Hacer2(); } } } else else if (x > 20) { { Hacer2(); Hacer2(); } } else { Hacer3(); } VB.NET y C# - Sentencias condicionalesVB.NET y C# - Sentencias condicionales C#: sentencia if con varios formatosC#: sentencia if con varios formatos VB.NET: la sentencia If requiere de la palabra ThenVB.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
  • 27. int a = 0; switch(a) { case 1:{//CODIGO 1 break; } case 2: {//CODIGO 2 break; } default:{//CODIGO DEFAULT break; } } VB.NET y C# - Sentencias condicionalesVB.NET y C# - Sentencias condicionales C#: sentencia caseC#: sentencia case VB.NET: sentencia caseVB.NET: sentencia case Dim a As Integer = 0 Select a Case 1 'Código 1 Case 2 'Código 2 Case Else 'Código Default End Select
  • 28. VB.NET y C# - Sentencia forVB.NET y C# - Sentencia for C#: la sentencia for consta de tres partesC#: la sentencia for consta de tres partes VB.NET usa las palabras claves For, To, Next y StepVB.NET usa las palabras claves For, To, Next y Step //Partes: declaración, prueba, acción for (int i=1; i < 10; i++) { } 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 Next Next
  • 29. VB.NET y C# - Sentencia for/eachVB.NET y C# - Sentencia for/each C#: usa la palabra foreachC#: usa la palabra foreach VB.NET usa las palabra For EachVB.NET usa las palabra For Each string[] nombres = new string[5]; foreach(string auxNombre in nombres) { //auxNombre es de SOLO LECTURA } Dim nombres(5) As String Dim auxNombre As String For Each auxNombre In nombres ‘auxNombre NO es de SOLO LECTURA Next For/Each permite recorrer arreglos y coleccionesFor/Each permite recorrer arreglos y colecciones
  • 30. VB.NET y C# - Sentencia whileVB.NET y C# - Sentencia while C#:C#: VB.NET:VB.NET: bool condicion = true; while (condicion == true){ //En algún momento poner condicion = false } Dim condicion As Boolean = True While condicion = True 'Poner condicion=false en algún momento End While
  • 31. Temas a TratarTemas a Tratar Introducción a C# y VB.NETIntroducción a C# y VB.NET SintaxisSintaxis  Temas GeneralesTemas Generales  Definición e inicialización de variablesDefinición e inicialización de variables  OperadoresOperadores  Estructuras de ControlEstructuras de Control  Clases y ObjetosClases y Objetos
  • 32. VB.NET y C# - ClasesVB.NET y C# - Clases C#: las clases son declaradas mediante classC#: las clases son declaradas mediante class VB.NET usa las palabras Class / End ClassVB.NET usa las palabras Class / End Class //Definicion de la clase CuentaBancaria class CuentaBancaria { //Definicion de miembros } ‘Definicion de la clase CuentaBancaria Class CuentaBancaria ‘Definicion de miembros End Class
  • 33. Sintaxis – Entry PointSintaxis – Entry Point C#:C#: public class HolaMundo { public static void Main(string[] args){ //Punto de entrada de la aplicación } } VB.NETVB.NET Public Class HolaMundo Public Shared Sub Main(ByVal args() As String) ‘Punto de entrada de la aplicación End Sub End Class
  • 34. VB.NET y C# - MétodosVB.NET y C# - Métodos En C# todo método es una funciónEn C# todo método es una función VB.NET usa procedimientos Sub y funciones FunctionVB.NET usa procedimientos Sub y funciones Function public void HacerDeposito(int importe) //No devuelve valor { } public int ObtenerInventario(int codArticulo) //Devuelve un entero { } 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 Métodos: acciones que un objeto puede llevar a cabo.Métodos: acciones que un objeto puede llevar a cabo.
  • 35. VB.NET y C# - ConstructoresVB.NET y C# - Constructores EnEn C#C# tienen el mismo nombre de la clasetienen el mismo nombre de la clase VB.NET usa un procedimiento Sub NewVB.NET usa un procedimiento Sub New class CtaCte { public CtaCte(){...} //Const. por default public CtaCte(int i){...} //Const. con un parametro } Class CtaCte Sub New() End Sub Sub New(ByVal i As Integer) End Sub End Class Constructor: métodos dentro de la clase que son llamadosConstructor: métodos dentro de la clase que son llamados automáticamente cuando se crea una instancia de dicha clase.automáticamente cuando se crea una instancia de dicha clase.
  • 36. VB.NET y C# - Sobrecarga de MétodosVB.NET y C# - Sobrecarga de Métodos C#C# VB.NETVB.NET public void HacerDeposito(int importe) { } public void HacerDeposito(int importe, bool acreditar) { } Public Sub HacerDeposito(ByVal imp As Integer) End Sub Public Sub HacerDeposito(ByVal imp As Integer, ByVal acreditar As Boolean) End Sub SobrecargaSobrecarga:: varios métodos con el mismo nombre perovarios métodos con el mismo nombre pero diferente “firma”.diferente “firma”.
  • 37. VB.NET y C# - Métodos estáticosVB.NET y C# - Métodos estáticos C#C# VB.NETVB.NET public static void HacerDeposito(int importe) { } Public Shared Sub HacerDeposito(ByVal imp As Integer) End Sub Miembros que no requieren de una instancia para serMiembros que no requieren de una instancia para ser invocados. Se los llama métodos “de clase”invocados. Se los llama métodos “de clase”
  • 38. VB.NET y C# - PropiedadesVB.NET y C# - Propiedades Propiedad: característica o atributo de un objetoPropiedad: característica o atributo de un objeto C#C# VB.NETVB.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
  • 39. VB.NET y C# - HerenciaVB.NET y C# - Herencia En C# la herencia se define:En C# la herencia se define: VB.NET usa la palabra clave InheritsVB.NET usa la palabra clave Inherits class Cuenta //Clase Base { } class CtaCte : Cuenta //Clase Derivada { } Class Cuenta ‘Clase Base End Class Class CtaCte ‘Clase Derivada Inherits Cuenta End Class En .NET solo se permite Herencia Simple
  • 40. VB.NET y C# - Herencia (Cont.)VB.NET y C# - Herencia (Cont.) En C#En C# VB.NETVB.NET 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 } 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
  • 41. VB.NET y C# - NamespacesVB.NET y C# - Namespaces C#C# VB.NETVB.NET namespace BancoARG { namespace Gestion { public class CtaCte { } public class CajaAhorro { } } } //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()
  • 42. VB.NET y C# - Admin. De ExcepcionesVB.NET y C# - Admin. De Excepciones C#: usa las palabrasC#: usa las palabras try/catch/finallytry/catch/finally VB.NET usa las palabrasVB.NET usa las palabras Try/Catch/FinallyTry/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 Excepción: condición anómala de funcionamiento de unaExcepción: condición anómala de funcionamiento de una aplicaciónaplicación
  • 43. © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Notas del editor

  1. Al descargar de internet gratuitamente el .NET Framework SDK (Software Development Kit), usted podrá comenzar a desarrollar aplicaciones simples en un editor de texto cualquiera y compilarlas utilizando los compiladores de línea de comandos incluídos en el paquete.
  2. Las propiedades permiten implementar el encapsulamiento, impidiendo el acceso directo a los atributos de una clase y proporcionando un mecanismo para poder obtener y asignar sus valores. Nótese que como VB.NET no distingue entre mayúsculas y minúsculas no es posible utilizar para el miembro de la clase el mismo nombre que para la Propiedad. Sin embargo, es importante que ambos tengan nombres significativos para la lógica de la aplicación. No se recomienda el agregado de prefijos o sufijos a los nombres.
  3. Dos palabras clave que afectan la “habilidad” de heredar desde una clase base.
  4. Los namespaces (espacios de nombre) funcionan como un método de organización de clases (tanto las que escribimos nosotros como las incluidas en .NET), agrupando en un conjunto a aquellas clases que están relacionadas lógicamente. Un namespace puede contener tanto tipos (clases) como otros namespaces, y dentro de un namespace no puede haber dos clases con el mismo nombre. El nombre completo de una clase se construye a partir de todos los namespaces que la contienen (la jerarquía se arma separándolos con “.”) + el nombre mismo de la clase.
  5. .NET provee una forma estructurada de manejar los errores que ocurren en tiempo de ejecución (llamados excepciones), a través de los bloques Try/Catch. Si bien se verá este tema con mayor detalle a lo largo del curso, los conceptos básicos son los siguientes: Todo código que sea susceptible a fallar en tiempo de ejecución debe ir dentro de un bloque “Try” Debemos proveer al menos un bloque “Catch” que “atrapará” una excepción en caso de producirse y hará algo con ella (mostrará un mensaje, enviará un mail, registrará el error, etc.) Si en tiempo de ejecución se produce una excepción dentro del código que se encuentra en el bloque Try, el flujo de control es automáticamente direccionado al primer bloque Catch capaz de atraparla, y nunca vuelve al código dentro del bloque Try. Independientemente de la ocurrencia o no de excepciones, la ejecución termina dirigiéndose al bloque Finally (optativo), que es utilizado típicamente para finalizar ordenadamente recursos que se hayan estado utilizando (archivos, conexiones a una base de datos, etc.).