43
Estrella 0 - Estrella 0 - Introducción a la Introducción a la Programación Orientada Programación Orientada a Objetos en C# y a Objetos en C# y Visual Basic.NET Visual Basic.NET Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco Estrellas Estrellas

Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Embed Size (px)

Citation preview

Page 1: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Estrella 0 -Estrella 0 -Introducción a la Introducción a la

Programación Orientada a Programación Orientada a Objetos en C# y Visual Objetos en C# y Visual

Basic.NETBasic.NET

Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco

EstrellasEstrellas

Programa Microsoft Programa Microsoft Desarrollador Cinco Desarrollador Cinco

EstrellasEstrellas

Page 2: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

ObjetivoObjetivo

Mostrar cómo aplicar los conceptos Mostrar cómo aplicar los conceptos fundamentales de programación fundamentales de programación orientada a objetos utilizando los orientada a objetos utilizando los

lenguajes Microsoft Visual C#.NET y lenguajes Microsoft Visual C#.NET y Microsoft Visual Basic.NETMicrosoft Visual Basic.NET

Page 3: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

PrerrequisitosPrerrequisitos

Poseer los conocimientos Poseer los conocimientos proporcionados en los siguientes proporcionados en los siguientes módulos de la Estrella 0: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

Page 4: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Temas a TratarTemas a Tratar

Introducción a C# y VB.NETIntroducción a C# y VB.NETSintaxisSintaxis 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

Page 5: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Visual C#.NETVisual C#.NET

Creado especialmente para .NETCreado especialmente para .NETEstándar ECMA (2002)Estándar ECMA (2002)Orientado a Objetos y ComponentesOrientado a Objetos y ComponentesSintaxis derivada de C, C++, Delphi Sintaxis derivada de C, C++, Delphi y Javay Java

Page 6: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Visual Basic.NETVisual Basic.NET

Rediseñado especialmente para .NETRediseñado especialmente para .NET100% Orientado a Objetos y 100% Orientado a Objetos y ComponentesComponentesSalvo por pequeñas excepciones, la Salvo por pequeñas excepciones, la sintaxis es la misma de VB6 y sus sintaxis es la misma de VB6 y sus predecesorespredecesoresTiene la misma potencia, robustez y Tiene la misma potencia, robustez y capacidades de acceso a .NET que capacidades de acceso a .NET que C#C#

Page 7: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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.NET\Framework\<Win>\Microsoft.NET\Framework\

<version>\csc.exe<version>\csc.exe Csc /out:XX /target:YY “Archivo1.cs” Csc /out:XX /target:YY “Archivo1.cs”

“Archivo2.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.NET\Framework\<Win>\Microsoft.NET\Framework\

<version>\vbc.exe<version>\vbc.exe vbc /out:XX /target:YY “Archivo1.vb” vbc /out:XX /target:YY “Archivo1.vb”

“Archivo2.vb”“Archivo2.vb”

Page 8: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Compiladores (2/2)Compiladores (2/2)Algunas opciones útilesAlgunas opciones útiles

/out:<file>/out:<file> Nombre del archivo Nombre del archivo de salidade salida/target:exe/winexe/library/target:exe/winexe/library Consola/Windows/Consola/Windows/DLLDLL/reference:<file list>/reference:<file list> Assemblies de referenciaAssemblies de referencia/doc:<file>/doc:<file> Archivo de Archivo de documentacióndocumentación/debug[+|-]/debug[+|-] Emitir info de Emitir info de DEBUGDEBUG/main:<type>/main:<type> Determina la clase que Determina la clase que posee posee el Entry Point el Entry Point (ignora los otros (ignora los otros posibles)posibles)/lib:<file list>/lib:<file list> Directorios de Directorios de libreríaslibrerías

Page 9: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Temas a TratarTemas a Tratar

Introducción a C# y VB.NETIntroducción a C# y VB.NETSintaxisSintaxis 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

Page 10: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Terminación de VB.NET y C# - Terminación de línealí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 renglonstring nombre = primerNombre + apellido; //El punto y coma indica FINAL de linea

'Una linea con mas de un renglonDim nombre As String = primerNombre & _ apellido

Page 11: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Declaración de VB.NET y C# - Declaración de BloquesBloques

En C# los bloques se declaran entre llavesEn C# los bloques se declaran entre llaves

En VB.NET cada bloque tiene su sentencia de En VB.NET cada bloque tiene su sentencia de apertura y su sentencia de cierre, que apertura y su sentencia de cierre, que normalmente empieza con la palabra “End”normalmente empieza con la palabra “End”

class MainClass{public static void Main(string[] args) {

Console.WriteLine("Hello World!");}

}

Class MainPublic Shared Sub Main()

Console.WriteLine("Hello World!")End Sub

End Class

Page 12: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - ComentariosVB.NET y C# - ComentariosC# 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;}}

Page 13: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - ComentariosVB.NET y C# - Comentarios

VB.NET soporta dos tipos de comentariosVB.NET soporta dos tipos de comentarios

'Comentario simpleDim 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 + yEnd Function

Page 14: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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 VB.NET no distingue entre mayúsuclas y minúsculasminúsculas

system.console.writeline(“HOLA”); INCORRECTO

System.Console.WriteLine(“HOLA”); CORRECTO

system.console.writeline(“HOLA”) CORRECTO

System.Console.WriteLine(“HOLA”) CORRECTO

Page 15: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Temas a TratarTemas a Tratar

Introducción a C# y VB.NETIntroducción a C# y VB.NETSintaxisSintaxis 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

Page 16: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Tipos de DatosTipos de Datos

Categoría Clase Descripción C# AliasVB.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

    DoubleUn 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

    StringUna cadena de caracteres unicode inmutable y de tamaño fijo string String

Page 17: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Alcance de VB.NET y C# - Alcance de miembrosmiembros

MiembroMiembro: se refiere a los campos, propiedades, : se refiere a los campos, propiedades, métodos, eventos, clases anidadas, etc.métodos, eventos, clases anidadas, etc.

C#:C#: todo miembro es declarado como todo miembro es declarado como PRIVATEPRIVATE por defaultpor default

VB.NET:VB.NET: todo miembro es declarado como todo miembro es declarado como PUBLICPUBLIC por default por default

Modificadores de acceso disponibles:Modificadores de acceso disponibles:

Protected Friend

protected internal

ProtectedprotectedFriendinternalPrivateprivatePublicpublic

VB.NETC#

Page 18: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Declaración de VB.NET y C# - Declaración de VariablesVariables

C#: el tipo de dato precede al identificador C#: el tipo de dato precede al identificador (nombre)(nombre)

VB.NET: comienza con “Dim” o algún VB.NET: comienza con “Dim” o algún modificador de acceso (Public, Private, etc.) modificador de acceso (Public, Private, etc.) + identificador de la variable + “As” Tipo de + identificador de la variable + “As” Tipo de DatoDato

int x;decimal y;rectangle z;Cliente cli;

Dim x As Integer ‘Dim es = a Private por defectoDim y As DecimalDim z As RectangleDim cli As Cliente

Page 19: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Inicialización de VB.NET y C# - Inicialización de VariablesVariables

C#:C#: toda variable debe ser inicializada toda variable debe ser inicializada EXPLICITAMENTE antes de ser usadaEXPLICITAMENTE antes de ser usada

VB.NET: inicializa automáticamente las VB.NET: inicializa automáticamente las variables en CERO o en Nothingvariables en CERO o en Nothing

int tempBalance; //variable local//ERROR: tempBalance NO ha sido inicializadaSystem.Console.WriteLine(tempBalance);

Dim tempBalance As Integer'SIN ERROR: tempBalance vale CEROSystem.Console.WriteLine(tempBalance)

Page 20: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Conversiones de VB.NET y C# - Conversiones de TiposTipos

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 VB.NET usa las directivas del compilador Option StrictStrict

Si falla el cast siempre se genera una Si falla el cast siempre se genera una InvalidCastExceptionInvalidCastException

Cuenta cta = new CtaCte();CtaCte cc = cta; //Error: puede que cta no sea una CtaCteCtaCte 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 OffDim cc As CtaCte = CType(cta, CtaCte) ‘Option Strict On

If TypeOf cta Is CtaCte Then ‘Comp. con TypeOf Is

Page 21: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - ArreglosVB.NET y C# - ArreglosC# 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 stringstelefonos = new string[3]; //De 3 elementostelefonos[0] = “1245”; //Seteo del 1er elemento del arreglo

//Definicion y asignacion de una veztelefonos = new string[] {“1”,“2”,“3”};

Dim telefonos As String() ó Dim telefonos() As StringDim telefonos(3) As String ‘Crea un array de 4 elementos telefonos(0) = “1245” ‘Seteo del 1er elemento del arreglo

‘Definicion y asignacion de una vezDim telefonos() As String = {“1”,“2”,“3”}

Page 22: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Temas a TratarTemas a Tratar

Introducción a C# y VB.NETIntroducción a C# y VB.NETSintaxisSintaxis 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

Page 23: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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 <= <=

Page 24: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Operadores VB.NET y C# - Operadores LógicosLógicos

Distinto<>!=Igual  ===Negacion logicaNot!Operador logico OOrllOperador logico YAnd&&

OperadorVB.NETC#

En C# todas las evaluaciones se hacen por En C# todas las evaluaciones se hacen por “cortocircuito”“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 En VB.NET se debe utilizar los operadores AndAlso y OrElseAndAlso y OrElse‘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

Page 25: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Temas a TratarTemas a Tratar

Introducción a C# y VB.NETIntroducción a C# y VB.NETSintaxisSintaxis 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

Page 26: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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 VB.NET y C# - Sentencias condicionalescondicionalesC#: sentencia if con varios formatosC#: sentencia if con varios formatos

VB.NET: la sentencia If requiere de la palabra VB.NET: la sentencia If requiere de la palabra ThenThenIf 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

Page 27: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

int a = 0;switch(a) {

case 1:{//CODIGO 1 break;}case 2: {//CODIGO 2 break;}default:{//CODIGO DEFAULT break;}

}

VB.NET y C# - Sentencias VB.NET y C# - Sentencias condicionalescondicionalesC#: sentencia caseC#: sentencia case

VB.NET: sentencia caseVB.NET: sentencia caseDim a As Integer = 0Select a

Case 1 'Código 1Case 2 'Código 2Case Else 'Código Default

End Select

Page 28: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Sentencia forVB.NET y C# - Sentencia forC#: la sentencia for consta de tres partesC#: la sentencia for consta de tres partes

VB.NET usa las palabras claves For, To, Next VB.NET usa las palabras claves For, To, Next y Stepy Step

//Partes: declaración, prueba, acciónfor (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 2Next Next

Page 29: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Sentencia VB.NET y C# - Sentencia for/eachfor/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 StringDim auxNombre As StringFor Each auxNombre In nombres ‘auxNombre NO es de SOLO LECTURA Next

For/Each permite recorrer arreglos y coleccionesFor/Each permite recorrer arreglos y colecciones

Page 30: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Sentencia whileVB.NET y C# - Sentencia whileC#: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

Page 31: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

Temas a TratarTemas a Tratar

Introducción a C# y VB.NETIntroducción a C# y VB.NETSintaxisSintaxis 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

Page 32: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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 CuentaBancariaclass CuentaBancaria{

//Definicion de miembros}

‘Definicion de la clase CuentaBancariaClass CuentaBancaria

‘Definicion de miembrosEnd Class

Page 33: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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.NETPublic Class HolaMundo Public Shared Sub Main(ByVal args() As String)

‘Punto de entrada de la aplicación End SubEnd Class

Page 34: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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 valorEnd Sub

Public Function Inventario(ByVal codArt As Integer) As Integer‘Devuelve un enteroEnd Function

Métodos: acciones que un objeto puede llevar a Métodos: acciones que un objeto puede llevar a cabo.cabo.

Page 35: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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 Constructor: métodos dentro de la clase que son llamados automáticamente cuando se crea una llamados automáticamente cuando se crea una instancia de dicha clase.instancia de dicha clase.

Page 36: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Sobrecarga de VB.NET y C# - Sobrecarga de MétodosMé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 varios métodos con el mismo nombre pero diferente “firma”.pero diferente “firma”.

Page 37: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Métodos VB.NET y C# - Métodos estáticosestá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 Miembros que no requieren de una instancia para ser invocados. Se los llama métodos “de clase”ser invocados. Se los llama métodos “de clase”

Page 38: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - PropiedadesVB.NET y C# - PropiedadesPropiedad: 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ónMostrar(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 PropertyEnd Class

Dim cc As New CtaCte()cc.Balance = 100 ‘AsignaciónMostrar(cc.Balance) ‘Obtención

Page 39: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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 BaseEnd Class

Class CtaCte ‘Clase Derivada Inherits CuentaEnd Class

En .NET solose permiteHerenciaSimple

Page 40: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

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 claseEnd Class

Public MustInherit Class Cuenta‘No se pueden crear instancias de esta clase, sólo de sus ‘derivadasEnd Class

Page 41: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - NamespacesVB.NET y C# - NamespacesC#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 NamespaceEnd Namespace

‘Referencia “full”BancoARG.Gestion.CtaCteBancoARG.Gestion.CajaAhorro

‘Referencia a un namespaceImports BancoARG.GestionDim cc As New CtaCte()Dim ca As New CajaAhorro()

Page 42: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

VB.NET y C# - Admin. De VB.NET y C# - Admin. De Excepciones Excepciones

C#: usa las palabras C#: usa las palabras try/catch/finallytry/catch/finally

VB.NET usa las palabras VB.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/yCatch e As DivideByZeroException ‘Error division por ceroCatch ‘Otro errorFinally ‘Siempre pasa por acaEnd Try

Excepción: condición anómala de funcionamiento de Excepción: condición anómala de funcionamiento de una aplicaciónuna aplicación

Page 43: Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or

implied, in this summary.