Taller de certificación Internacional Tema: TIPOS DE DATOS
TIPOS TIPOS DE DATOS CONVERSIÓN ENTRE TIPOS CONSTRUYENDO CLASES
TIPO DE DATO Los tipos están implementados como clases, al declara una variable de un tipo determinado, podrá usar los métodos y propiedades que pertenezcan al tipo de dato. ¿Qué guarda un tipo de dato? Espacio de almacenamiento Valores máximos y mínimos Tipo base del que hereda Ubicación en memoria Operaciones permitidas
DEFINICIÓN VB.NET Dim Cadena As String Dim Longitud As Integer Cadena = "Datos" Longitud = Cadena.Length() C# String Cadena; Int Longitud; Cadena = "Datos"; Longitud = Cadena.Length();
CLASIFICACIÓN Tipos por valor: La asignación de una variable de tipo de valor a otra copia el valor contenido. Los tipos por valor no pueden tener valores nulos. Derivan de la clase System.ValueType Tipos por referencia La asignación de una variable de tipo por referencia que copia una referencia en el objeto pero no el propio objeto
Object ValueType Class Interace Byte Int16 UInt16 Single Array Char Double String Enum Int64 UInt64 Delegate Decimal Structure Others Boolean Others
CLASIFICACIÓN
CONVERSIÓN ENTRE TIPOS TIPOS DE DATOS CONVERSIÓN ENTRE TIPOS CONSTRUYENDO CLASES
CONVERSIÓN ENTRE TIPOS Pueden ser: - Implícitas (widening): Se emplea cuando el tipo de destino puede acomodar todos los valores posibles del tipo de origen - Explicitas (narrowing): Requieren el uso de palabras reservadas que ayudan a la conversión Para la conversión explicita también se usa: System.Convert Tipo.ToString Tipo.Parse Tipo.TryParse y Tipo.TryParseExact
CONVERSIÓN ENTRE TIPOS MANERAS DE REALIZAR LA CONVERSIÓN EXPLICITA System.Convert tipo.ToString tipo.Parse tipo.TryParse tipo.TryParseExact A Nivel Del Framework En C# En VB.NET (tipo) expresión CType(expresión, tipo) as CBool(expresión), CInt(expresión), CStr(expresión), etc. DirectCast(expresión, tipo) TryCast(expresión, tipo)
CONVERSIÓN ENTRE TIPOS - Boxing: Convierte a un tipo de valor a un tipo por referencia - Unboxing: Convierte un tipo de referencia a un tipo por valor.
TIPOS TIPOS DE DATOS CONVERSIÓN ENTRE TIPOS CONSTRUYENDO CLASES
CONSTRUYENDO CLASES Para construir clases es necesario conocer los siguientes conceptos: Herencia Delegados Interface Eventos Clases parciales Atributos Clases genéricas Type Forwarding
CLASES Es un tipo de dato que define métodos y propiedades. Las clases son similares a las estructuras, con la diferencia de que admiten herencia.
HERENCIA Permite generar una jerarquía de clases y reutilizar la funcionalidad de la clase base. Modificadores de la herencia: Inherits: especifica la clase base (vb.net). NotInheritable: impide utilizar la clase como clase base (vb.net). MustInherit: especifica que la clase sólo se debe utilizar como clase base (vb.net)
REEMPLAZAR PROPIEDADES Y MÉTODOS EN CLASES DERIVADAS Overridable: permite reemplazar una propiedad o un método de una clase en una clase derivada. Overrides: reemplaza una propiedad o un método Overridable definido en la clase base. NotOverridable: impide reemplazar una propiedad o método en una clase que hereda. Los métodos Public son NotOverridable de manera predeterminada. MustOverride: requiere que una clase derivada reemplace una propiedad o un método. Cuando se utiliza la palabra clave MustOverride, la definición del método consiste simplemente en la instrucción Sub, Function o Property. No se permite ninguna otra instrucción y, específicamente, no existe ninguna instrucción End Sub ni End Function. Los métodos MustOverride deben declararse en las clases MustInherit.
REEMPLAZAR PROPIEDADES Y MÉTODOS EN CLASES DERIVADAS
INTERFACE Definen propiedades, métodos y eventos que pueden implementar las clases. Interfaces mas conocidas: IComparable: IDisposable IConvertible ICloneable IEquatable IFormattable IFormatProvider
INTERFACE Al implementar la interfaz MetodosChofer Automaticamente se agregó a la clase Chofer Los metodos CalcularAsistencia() y CalcularSueldo() Vacio para escribir la lógica de negocio.
CLASES PARCIALES Permiten que la declaración de una clase se realice en varios archivos de código fuente. El compilador tomará todas ellas y generará en el ensamblado como si fuera una clase normal.
CLASES GENÉRICAS Una clase que toma parámetros de tipo se denomina clase genérica. Permiten definir un tipo sin especificar detalles. constraints (Restricciones) Limitan los tipos que se pueden usar en los genéricos. Soportan 4 tipos de constraints: Interface. Base class Constructor Reference or value type.
CLASES GENÉRICAS La clase genérica solo admite clases Que implementen la interfaz MetodosChofer
EVENTOS Es un mensaje enviado por un objeto en señal de que a ocurrido una acción.
DELEGADOS Es una clase que almacena referencia a un método. Es utilizado para señalar un evento a un objeto.
ATRIBUTOS Describen tipos, métodos o propiedades . Sus usos comunes: Especificar privilegios de seguridad en una clase Declarar capacidades, ej. soporta serializacion. Describir el assembly con un título, descripción o notificación de copyright
FORWARDING Se usa el siguiente atributo: Es un atributo que permite mover un tipo de un assembly a otro assembly, de tal forma que no se deba recompilar los clientes que consuman el primer assembly. Se usa el siguiente atributo: [assembly: TypeForwardedToAttribute ( typeof (MyClass))]