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

Slides:



Advertisements
Presentaciones similares
Tema 4: Programación Orientada a Objetos en C# y VB.NET
Advertisements

Curso de java básico (scjp)
Programación orientada a objetos en Visual Basic .NET
Programa Microsoft Desarrollador Cinco Estrellas
Unidad 3 Lenguajes .Net y POO
Curso de java básico (scjp)
Visual C#.NET Creado especialmente para .NET Estándar ECMA (2002)
Lenguaje PHP Capítulo 4.
Herencia en C#.
Uso de variables de tipo referencia
Desarrollo de aplicaciones para Windows con VB.NET 2005
Lenguaje de programación Java
Orientación a Objetos con Java SE
Visual C#.NET Creado especialmente para .NET Estándar ECMA (2002)
Desarrollo de Aplicaciones para Internet
SESION 4 PROGRAMACIÓN. Septiembre 2010 SESION 3: OPERADORES 1 Comentarios /* */ // /// La guía de estilo de UA determina que: No se debe escribir comentario.
Tema 2: Lenguaje PHP básico
Visual Basic.NET Daniel A. Seara NDSoft Consultoría y Desarrollo
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
ESTRUCTURAS DE SECUENCIA
Clase II [Delio Alanis Nieto] [].
Clase IV Delio Alanis.
Conceptos Básicos de Java
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Modificadores.
TALLER DE PROGRAMACIÓN III
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
POO Java Módulo 3 Elementos de programas Identificadores
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
SCJP Sun Certified Programmer for Java 6
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Conversión cadena a número
Sintaxis de C# (Declaraciones y Tipos)
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
Curso Programación en Java
Microsoft© Visual Basic . Net.
Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE.
Control de errores visual basic
Clase 4 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Módulo 8: Manejo de Errores y Excepciones
VBA – Elementos del Lenguaje
Módulo 7: Programación Orientada a Objetos en Visual Basic 2005.
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
Ivette C. Martínez - Héctor Palacios Java – Modulo 1 Introducción y Fundamentos del lenguaje de programación Java.
Curso de C # República Bolivariana de Venezuela Área de Computación Facilitador: Prof. Bassam Asfur.
IDENTIFICADORES Un identificador es un "nombre" que nos permite dirigirnos específicamente a una de las entidades propias del lenguaje, es decir, son los.
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
Clase 2 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Fundamentos de Programación
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Introducción a la Programación Orientada a Objetos en C#
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
Clases “ Es una Abstracción de un elemento del mundo real ”
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación Computadoras V Conceptos Generales Profesor: Elian Rojas Berrocal.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
2012-BM5A. Unos tips antes de empezar: C# es Case Sensitive (sensible a mayúsculas) Pepe ≠ pepe ≠ pEpE Las asignaciones se hacen con “=” y las comparaciones.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Estrella 0 - Introducción a la Programación Orientada a Objetos en C# y Visual Basic.NET Programa Microsoft Desarrollador Cinco Estrellas.
Transcripción de la presentación:

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

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

Prerrequisitos Poseer los conocimientos proporcionados en los siguientes módulos de la Estrella 0: Fundamentos de Programación Fundamentos de Programación Introducción a la Orientación a Objetos Introducción a la Orientación a Objetos

Temas a Tratar Introducción a C# y VB.NET Sintaxis Temas Generales Temas Generales Definición e inicialización de variables Definición e inicialización de variables Operadores Operadores Estructuras de Control Estructuras de Control Clases y Objetos Clases y Objetos

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 Cumple con la especificación del CLS \Microsoft.NET\Framework\ \csc. exe \Microsoft.NET\Framework\ \csc. exe 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.NET Cumple con la especificación del CLS Cumple con la especificación del CLS \Microsoft.NET\Framework\ \vbc. exe \Microsoft.NET\Framework\ \vbc. exe vbc /out:XX /target:YY “Archivo1.vb” “Archivo2.vb” vbc /out:XX /target:YY “Archivo1.vb” “Archivo2.vb”

Compiladores (2/2) Algunas opciones útiles /out: Nombre del archivo de salida /target:exe/winexe/libraryConsola/Windows/DLL /reference: Assemblies de referencia /doc: Archivo de documentación /debug[+|-] Emitir info de DEBUG /main: Determina la clase que posee el Entry Point (ignora los otros posibles) /lib: Directorios de librerías

Temas a Tratar Introducción a C# y VB.NET Sintaxis Temas Generales Temas Generales Definición e inicialización de variables Definición e inicialización de variables Operadores Operadores Estructuras de Control Estructuras de Control Clases y Objetos Clases y Objetos

VB.NET y C# - Terminación de línea C#: la línea finaliza con un “ ; ” VB.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 Bloques En C# los bloques se declaran entre llaves En VB.NET cada bloque tiene su sentencia de apertura y su sentencia de cierre, que normalmente 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# - Comentarios C# soporta tres tipos de comentarios string nombre = “Juan”; // Comentario de una sola línea /* Comentario con mas de una línea*/ /// /// Documentación XML que puede ser consumida por otras /// herramientas para mostrar ayuda dinámica o generar /// documentación en varios formatos /// public class Matematica { /// /// Calcula la suma de dos números enteros /// /// El primer operando de la suma /// El segundo operando de la suma /// La suma entera de ambos operandos 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” ''' ''' Documentación XML que describe un tipo y sus miembros ''' ''' El primer operando de la suma ''' El segundo operando de la suma ''' La suma entera de ambos operandos 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 VB.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 Tratar Introducción a C# y VB.NET Sintaxis Temas Generales Temas Generales Definición e inicialización de variables Definición e inicialización de variables Operadores Operadores Estructuras de Control Estructuras de Control Clases y Objetos Clases y Objetos

Tipos de Datos CategoríaClaseDescripciónC# Alias VB.NET Alias EnterosByteUn entero sin signo (8-bit)byteByte SByteUn entero con signo (8-bit)sbyteSbyte Int16Un entero con signo (16-bit)shortShort Int32Un entero con signo (32-bit)intInteger Int64Un entero con signo (64-bit)longLong Punto FlotanteSingle Un número de punto flotante de simple precisión (32-bit)floatSingle Double Un número de punto flotante de doble precisión (64-bit)doubleDouble DecimalUn número decimal de 96-bitdecimalDecimal LógicosBooleanUn valor booleano (true o false)boolBoolean OtrosCharUn caracter Unicode (16-bit)charChar ObjectLa raíz de la jerarquía de objetosobjectObject String Una cadena de caracteres unicode inmutable y de tamaño fijostringString

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: Protected Friendprotected internal Protectedprotected Friendinternal Privateprivate Publicpublic VB.NETC#

VB.NET y C# - Declaración de Variables C#: el tipo de dato precede al identificador (nombre) VB.NET: comienza con “Dim” o algún modificador de acceso (Public, Private, etc.) + identificador de la variable + “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 Variables C#: toda variable debe ser inicializada EXPLICITAMENTE antes de ser usada VB.NET: inicializa automáticamente las variables en CERO 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 Tipos C# no permite conversiones implícitas de tipos Si falla el cast se devuelve null o InvalidCastException VB.NET usa las directivas del compilador Option Strict Si 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# - Arreglos C# utiliza corchetes [ ] para definición de arrays 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 Tratar Introducción a C# y VB.NET Sintaxis Temas Generales Temas Generales Definición e inicialización de variables Definición e inicialización de variables Operadores Operadores Estructuras de Control Estructuras de Control Clases y Objetos Clases y Objetos

VB.NET y C# - Operadores DescripciónC#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ógicos Distinto <>!= Igual === Negacion logica Not! Operador logico O Orll Operador logico Y And&& OperadorVB.NETC# En C# todas las evaluaciones se hacen por “cortocircuito” //Si Hacer1() es True, entonces //Si Hacer1() es False, entonces //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() If Hacer1() OrElse Hacer2() Then If Hacer1() AndAlso Hacer2() Then End If

Temas a Tratar Introducción a C# y VB.NET Sintaxis Temas Generales Temas Generales Definición e inicialización de variables Definición e inicialización de variables Operadores Operadores Estructuras de Control Estructuras de Control Clases y Objetos Clases 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 condicionales C#: sentencia if con varios formatos 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

int a = 0; switch(a) { case 1:{//CODIGO 1 break; } case 2: {//CODIGO 2 break; } default:{//CODIGO DEFAULT break; } VB.NET y C# - Sentencias condicionales C#: sentencia case VB.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 for C#: la sentencia for consta de tres partes VB.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

VB.NET y C# - Sentencia for/each C#: usa la palabra foreach VB.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 colecciones

VB.NET y C# - Sentencia while C#: 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 Tratar Introducción a C# y VB.NET Sintaxis Temas Generales Temas Generales Definición e inicialización de variables Definición e inicialización de variables Operadores Operadores Estructuras de Control Estructuras de Control Clases y Objetos Clases y Objetos

VB.NET y C# - Clases C#: las clases son declaradas mediante class VB.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 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 En C# todo método es una función VB.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.

VB.NET y C# - Constructores En C# tienen el mismo nombre de la clase VB.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 llamados automáticamente cuando se crea una instancia de dicha clase.

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

VB.NET y C# - Métodos estáticos C# VB.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 ser invocados. Se los llama métodos “de clase”

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: VB.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.) En C# VB.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# - Namespaces C# VB.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 ‘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 C#: usa las palabras try/catch/finally VB.NET 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 Excepción: condición anómala de funcionamiento de una aplicación

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