La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Visual Basic.NET Daniel A. Seara NDSoft Consultoría y Desarrollo Director Regional MSDN Argentina

Presentaciones similares


Presentación del tema: "Visual Basic.NET Daniel A. Seara NDSoft Consultoría y Desarrollo Director Regional MSDN Argentina"— Transcripción de la presentación:

1 Visual Basic.NET Daniel A. Seara NDSoft Consultoría y Desarrollo Director Regional MSDN Argentina

2 Generalidades Hacer el lenguaje aún más simple de utilizar –...al menos, más fácil de aprender Corregir algunas cosas del diseño Agregar características de orientación a objetos completa Convertirlo en ciudadano de primera del mundo.NET...restringiendo los cambios a lo estrictamente necesario

3 Orientación a objetos Herencia (Inheritance) Sobrecarga (Overloading) Interfaces Miembros Compartidos Constructores e inicializadores – Sub New() – unObjeto = New Class(Arg, datos) Eventos orientados a objetos

4 Conceptos de Herencia Reutilización –Composición (Tiene-un) MiForm Tiene-un Control MiForm Control Form FormInic MiForm MiNuevoForm –Herencia (Es-un) MiForm Es-un FormInic Construyendo jerarquías de tipo Versionamiento Polimorfismo

5 Interfaces Declaración de contrato entre las partes –Permite orientación a componentes Define estructura y semánticas para un propósito específico Definición abstracta de método y propiedades Soporta herencia (múltiple) Ejemplo: Interface IPersonaEdad Property Nacimiento() As Integer Function TraerEdadActual() As Integer End Interface

6 Características del lenguaje Type System Clases y Herencia Manejo de excepciones Conceptos de eventos Cambios

7 Type System

8 Tipos Primitivos Enteros –Byte (8 bits), Short (16 bits) –Integer (32 bits), Long (64 bits) De Punto flotante –Single (4 bytes), Double (8 bytes) Numéricos exactos –Decimal (28 digitos) (reemplaza Currency) Boolean, Date, Char String (¡Tipo por referencia!) Bytes con signo, y enteros sin signo no son soportados

9 Enumeradores Nombre simbólico de un conjunto de valores Definidos específicamente Basados en enteros –Byte, Short, Integer, o Long –Por defecto, Integer Ejemplo: Enum Color As Byte rojo verde azul End Enum

10 Vectores Dim UnVector() As Integer ReDim UnVector(10) Dim UnaDimension(10) As Integer Dim DosDimensions(20,intVal) As Integer Sintaxis declarativa El límite inferior siempre es cero No se soporta tamaño fijo (4 to 12) La cantidad de dimensiones es fija

11 Clases Concepto para objetos: código y datos Las clases contienen miembros: –De datos: variables, constantes –Propiedades: valores que se acceden por métodos get / set –Métodos: exponen funcionalidad –Especiales: eventos, delegados, constructores, destructores

12 Herencia 1/2 Clase base simple, pero con múltiples interfaces base Public Class ClaseDerivada Inherits Clase Base Implements IBase1, IBase2... End Class Public MustInherit Class ClaseAbstracta... End Class Public NotInheritable Class ClaseFinal... End Class Clases base abstractas Clases no heredables

13 Herencia 2/2 Sobrecarga –Un método sobrecarga otro Igual nombre Diferentes parámetros Sobre escritura –Métodos que sobrescriben a otros de una clase heredada, con la misma declaración NotOverridable, MustOverride –Definen si deben o no pueden sobrescribirse Acceso calificado –MyClass, MyBase

14 Accesibilidad Cada miembro define su propia accesibilidad –Private Sólo dentro del contexto donde se declara –Protected (solo miembros de la clase) Acceso adicional por clases derivadas –Friend Acceso desde el mismo Assembly –Protected Friend Protected + Friend –Public Sin restricciones

15 Propiedades No es sólo almacenamiento –Pueden realizarse operaciones intVal = Sample.valPlus1 Public Class Sample Private val as Integer Public Property valPlus1() as Integer Get valPlus1 = val+1 End Get Set val = valPlus1-1 End Set End Property End Class Se usan como miembros de datos No pueden indexarse

16 Manejo de Excepciones No necesariamente son errores Dos estilos: estructurados (SEH) y no estructurados (UEH) Sólo se permite un estilo por método UEH se soporta por compatibilidad para atrás – On Error, Resume, Error – Microsoft.VisualBasic.Information.Err

17 Manejo estructurado Las excepciones son conceptos del sistema –Propagadas entre componentes aún de distintos lenguajes Sintaxis: Try Catch e As Exception Finally End Try

18 Eventos Soporta el estilo tradicional WithEvents Private WithEvents mW As Marcador Public Sub mW_MueveRaton(...) Handles mW.MouseHover El.NET Framework expone un nuevo sistema de eventos –Basado en delegados Transmitibles a muchos Se vinculan dinámicamente manejadores a los eventos –AddHandler, RemoveHandler Muchos eventos pueden enviarse al mismo método

19 Simple, más consistente Declaraciones más obvias –Visual Basic 6: Dim i,j as Integer i es Variant, j es Integer –Visual Basic.NET: Dim i,j as Integer Ambas son Integer Las variables declaradas en un bloque existen sólo dentro del mismo No hay creación implícita –Debe usarse New

20 Más robusto Control de Tipos estricto –Conversiones implícitas y explícitas Dim Base as CBase Dim Derivada as CDerivada = new CDerivada() Base = Derivada –Option Strict –Option Explicit Inicializadores Los Parámetros opcionales DEBEN tener un valor por defecto – Sub Calcular(Optional ByVal param As Boolean = False)

21 Mejor Rendimiento Soporta free threading –Mejor respuesta –¡Pero se deben conocer muy bien los mecanismos de manejo de hilos de ejecución! Evaluación rápida – X = A And B AndAlso (C OR D) Si A y B Son Verdad, no se evalúan C ni D

22 Algunos otros cambios Siempre se usan paréntesis al llamar métodos –En todos los casos, Sub y Function, aún cuando no requieran argumentos Por defecto, los parámetros se pasan ByVal Las propiedades son parámetros por referencia –Mantienen los cambios Gosub/Return no existen más No hay tipo de dato por defecto Operadores aritméticos de llamada rápida: x += 7 Vinculación tardía

23 Finalización Determinista Un objeto se destruye automáticamente –Cuando no se lo necesita más (Set a Nothing) Visual Basic.NET: –No está disponible la cuenta de referencias automáticas detrás de la escena –Los objetos los destruye el recolector de residuos (GC) cuando él lo dispone –Los recursos pueden, virtualmente, mantenerse vivos en forma permanente Una solución posible: –Armar un esquema personalizado de cuenta de uso ¡No mantener estado en los objetos!

24 Integración con.Net Common Language Runtime Conceptos de Namespaces, Assemblies, Módulos Free Threading Atributos Visual Studio.Net

25 El motor de ejecución común (CLR) Accede a los servicios de la Plataforma.NET Con interoperabilidad entre lenguajes –Incluyendo Herencia Interoperabilidad con COM servicios de bajo nivel –COM-Interop –P/Invoke –Llamar código no administrado tiene sus implicancias

26 Namespaces Concepto Organizacional –Pueden y deben ser jerárquicos –System.Reflection –MiLib.Ayudas.Controles.Ingresos Un programa puede tener múltiples Namespaces declarados Los Namespaces pueden repartirse entre varios programas Importando namespaces –Permite acceder a los tipos sin necesidad de calificarlos completamente –Se ubican a nivel del archivo Namespace global, sin nombre –Tienen alcance para todo el programa Namespace MyLib... End Namespace

27 Assemblies Resultado de compilar tanto una.dll o un.exe –Puede ser en uno o más archivos El archivo contiene la metadata (manifiesto) –Descripción de sí mismo –Descripción de los tipos implementados –Referencias externas –Información de versión –Control de la seguridad –Y más...

28 Módulos La más pequeña unidad a ser compilada Contiene una o más clases o interfaces –El Sub Main() habitualmente tiene alcance de módulo Más de un módulo pueden compartir el mismo assembly –El cual entonces, es un assembly multi-archivo Ejemplo: Imports System Public Module Principal Sub Main() Console.WriteLine(¡Hola mundo!") End Sub End Module

29 Atributos Información adicional declarativa de un elemento del programa Es posible definir atributos personalizados de clases Public Class PersonFirstName Inherits Attribute End Class Public Function Hello As String... Pueden obtenerse en tiempo de ejecución, a través de reflection Mejoran la funcionalidad del programa –Brinda ayudas al ejecutor

30 Visual Studio.NET Basado en el SDK del.NET Framewrok Integración y funcionalidad mejoradas –Proyectos en varios lenguajes –Un entorno (IDE) integrado para todos –Herramientas integradas: Visio, Adm. De Bases de Datos –Integración perfecta de la ayuda: Ayuda dinámica, IntelliSense® Mayor productividad para todo: –Desarrollo rápido de aplicaciones –Proyectos en gran escala

31 Resumen Grandes cambios para aprovechar las ventajas del.NET Famework Lenguaje modernizado y consistente Características heredadas finalmente se han eliminado El código Visual Basic.NET puede reutilizarse Soporte para la migración


Descargar ppt "Visual Basic.NET Daniel A. Seara NDSoft Consultoría y Desarrollo Director Regional MSDN Argentina"

Presentaciones similares


Anuncios Google