Home

Visual Basic .NET - Grupo Alarcos - Universidad de Castilla

image

Contents

1. UCLM ESI Programaci n con Visual Basic NET m Orientaci n a Objetos Creaci n de clases Agregar nuevo elemento EcuacionesOO Categor as Plantillas EE Elementos de proyecto local ES Ve s Windows Clase M dulo Forms a dE es Clase de Control de Asistente para componentes usuario Formularios E 0 y lo E DataSet Archivo XML Esquema XML Declaraci n de clase vac a Nombre Ecuacion UCLM ESI Programaci n con Visual Basic NET Orientaci n a Objetos Creaci n de atributos de una clase t Ecuacion Public Class Ecuacion Private ma s Double Private mb s Double Private mc s Double Private mx1 As Double Private mx2 As Double UCLM ESI Programaci n con Visual Basic NET m8 Orientaci n a Objetos Creaci n de propiedades de una clase Public Property a s Double Get Return ma End Get Set ByVal Value s Double ma Value End Set End Property UCLM ESI Programaci n con Visual Basic NET Encapsulaci n e El c digo de una clase debe permanecer protegido de modificaciones no controladas del exterior e caja negra que expone una interfaz para su uso UCLM ESI Programaci n con Visual Basic NET m9 Encapsulaci n Encapsulaci n a trav s de propiedades i Module General Sub Main Dim loEmpleado As Empleado loEmpleado New Empleado loEmpleado psNombre Juan loEmpleado piCategori
2. gt 0 IsCadMayMin ToLower Dim IsConcatenar As String IsConcatenar String Concat Hola a todos IsConcatenar ahora usamos amp el operador para concatenar UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La clase String v Dim IsCadA As String uno Dim IsCadB As String String Copy OTRO Console WriteLine CadenaA gt 0 IsCadA Console WriteLine CadenaB gt 0 IsCadB Dim IsComparal IsCompara2 As String Dim liResultaComp As Integer Console WriteLine Introducir primera cadena a comparar IsComparal Console ReadLine Console WriteLine Introducir segunda cadena a comparar IsCompara2 Console ReadLine liResultaComp String Compare IsComparal IsCompara2 Select Case liResultaComp Case Is lt 0 Console WriteLine Primera cadena es menor Case 0 Console WriteLine Las cadenas son iguales Case Is gt 0 Console WriteLine Primera cadena es mayor End Select UCLM ESI Programaci n con Visual Basic NET bosqu 3 21 u29 Clases Predefinidas La clase String vi Dim IsCadInicial As String Dim IsCadComparar As String IsCadInicial Prueba Console WriteLine Introducir una cadena a comparar con la cadena inicial IsCadComparar Console ReadLine If IsCadInicial Equals IsCadComparar Then Console WriteLine Las cadenas son iguales Else Console WriteLine Las cadenas son diferentes End If e La clase Convert Dim IsCa
3. Cantidades As Integer New Integer 20 gt 6 declarar primero la variable que contendr el array asignar valores al array al mismo tiempo que se instancia Dim Numeros As Integer Numeros New Integer 10 20 30 10 50 60 10 70 80 End Sub UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La clase Array ii e Asignaci n y obtenci n de valores Sub Main Dim sNombres 4 As String directamente sobre la variable haciendo referencia al ndice sNombres 0 Juan sNombres 1 Ana sNombres 2 Luis o con el m todo SetValue asignando el valor en el primer par metro y especificando la posici n en el segundo sNombres SetValue Elena 3 sSNombres SetValue Miguel 4 Dim sValorA As String Dim sValorB As String sValorA sNombres 2 directamente de la variable sValorB sNombres GetValue 3 usando el meth GetValue Console WriteLine Contenido de las variables Console WriteLine ValorA 0 ValorB 1 sValorA sValorB Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET m34 Clases Predefinidas La clase Array iii e Recorrer el contenido Sub Main Dim sNombres As String Ana Luis Pablo Dim Contador As Integer Dim sUnNombre As String modo tradicional Console WriteLine Recorrido del array con LBound y UBound For Contador LBound sNombres To UBound sNombres Conso
4. recorrer el array al completo Console WriteLine Recorrer objeto Hashtable con un enumerador Dim oEnumerador As IDictionaryEnumerator oEnumerador htCliente GetEnumerator While oOEnumerador MoveNext Console WriteLine Clave 0 Valor 1 oEnumerador Key oOEnumerador Value End While Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas Colecciones La clase Hashtable iii Hashtable ContainsKey clave Comprueba que una clave est en la tabla Hashtable ContainsValue va or Comprueba que un valor est en la tabla Hashtable Remove c ave Elimina un valor de la tabla Hashtable Clear Elimina todos los valores de la tabla Hashtable Keys Devuelve un array con los nombres de las claves de la tabla Hashtable Values Devuelve un array con los nombres de los valores de la tabla UCLM ESI Programaci n con Visual Basic NET m40 Clases Predefinidas Colecciones La clase SortedList e Variaci n de una Hashtable en la que los elementos se ordenan por la clave segun van siendo agregados e Funcionamiento similar a una Hashtable UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas Colecciones La clase Queue i Creaci n de objeto Queue 2 P E Entrada de valores a adir A gt a adir B gt a adir C gt ITBlTA Salida de valores sale A gt
5. para finalizar captura _ Contador sMensaje Console ReadLine si hemos escrito algo If sMensaje Length gt 0 Then a adimos a la lista aqListaMensa Enqueue sMensaje Else salimos Exit Do End If Loop UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas Colecciones La clase Queue v Console WriteLine la propiedad Count nos indica la cantidad de elementos en la lista Console WriteLine Hay 0 mensajes para procesar aqListaMensa Count Console WriteLine procesar los mensajes de la lista Contador 0 Console WriteLine Procesar lista de mensajes While aqListaMensa Count gt 0 Contador 1 Console WriteLine Mensaje nro 0 texto 1 _ Contador aqListaMensa Dequeue Console WriteLine Quedan 0 mensajes por procesar aqListaMensa Count Console WriteLine End While Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET m43 Clases Predefinidas Colecciones La clase Stack Public Sub Main creamos una colecci n de tipo pila Dim oPila As Stack oPila New Stack para a adir valores usamos el m todo Push oPila Push A este ser el ltimo en salir oPila Push B oPila Push C oPila Push D oPila Push E este ser el primero en salir para extraer un valor de la pila usamos el m todo Pop dicho valor se eliminar de la lista While oPila Count gt 0 Console WriteLine El valor obtenido de la lista e
6. Basic NET m16 Espacios de Nombres Esp nombres de otros ensamblados ii A a mer com Proyectos Examinar Dractorio del proyecto KACYSOVENETIT eco 1009 NamespOtros Componentes selecoonados Notre de componente tipo organ ji Quitar Adicional Proyecto K 1CLUrSOYBNETATextoYeL LOCAL Aceptar Cancelar Ayuda UCLM ESI Programaci n con Visual Basic NET M todos constructores Public Class Empleado Private mdtFechaCrea As Date Public Property FechaCrea As Date Get Return mdtFechaCrea End Get Set ByVal Value As Date mdtFechaCrea Value End Set End Property m todo constructor Public Sub New asignamos un valor inicial a una variable de propiedad Me FechaCrea Now End Sub End Class UCLM ESI Programaci n con Visual Basic NET m17 Herencia crear clase derivada en dos l neas crear clase derivada en la misma l nea Public Class Administrativo Public Class Administrativo Inherits Empleado Inherits Empleado Public Class Administrativo Inherits Empleado Public Sub EnviarCorreo ByVal IsMensaje As String Console WriteLine Remitente del mensaje 0 1 _ Me Nombre Me Apellidos Console WriteLine Texto del mensaje 0 IsMensaje Console ReadLine End Sub End Class UCLM ESI Programaci n con Visual Basic NET Herencia Reglas de mbito i Public vs Private Module General Sub Main Dim loUsu As Usuario loUsu New Usuario ac
7. Case 3333 As String msEntidad Caja Metropolitana Get Case Else Return msEntidad msEntidad entidad sin catalogar End Get End Select End Set End Property End Property UCLM ESI Programaci n con Visual Basic NET M todos i e With End With Dim loEmp As Empleado New Empleado With loEmp Nombre Ana Apellidos Naranjo MostrarDatos End With UCLM ESI Programaci n con Visual Basic NET m11 M todos ii e Me MyClass Public Class Empleado Public piID As Integer Private msNombre As String Public Sub VerDatos utilizamos Me y MyClass en este m todo para tomar el valor de la variable pilD que est en esta misma clase y para llamar al m todo NombreMay que tambi n est en la clase Console WriteLine C digo del empleado 0 Me pilD Console WriteLine Nombre del empleado 0 MyClass NombreMay End Sub Public Function NombreMay As String Return UCase msNombre End Function End Class UCLM ESI Programaci n con Visual Basic NET Polimorfismo e Varios m todos con id ntico nombre dentro de la misma clase que se distinguen por su lista de par metros e Overloads UCLM ESI Programaci n con Visual Basic NET m12 Polimorfismo Ejemplo m todos sobrecargados Public Overloads Sub Sueldo aqu mostramos en consola el importe del sueldo formateado Console WriteLine El sueldo es 0 Format Me Salario Co
8. ReadLine Select Case Math Sign liSigno Case 1 Console WriteLine El n mero es negativo Case 0 Console WriteLine El n mero es cero Case 1 Console WriteLine El n mero es positivo End Select Rouna redondea el n mero pasado como par metro IdbRedondear Math Round 28 3215 Console WriteLine Redondear 28 3215 gt 0 IdbRedondear IdbRedondear Math Round 28 63215 Console WriteLine Redondear 28 63215 gt 0 IdbRedondear Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET m32 Clases Predefinidas Formateo de Fechas Sub Main Dim IdtFecha As Date Dim IsListaFormatos As String d D g G t T m y Dim IsFormato As String IdtFecha Date Now For Each IsFormato In IsListaFormatos Console WriteLine Formato 0 resultado 1 IsFormato IdtFecha ToString IsFormato Next End Sub Sub Main Dim IdtFecha As Date IdtFecha Date Now array para obtener todos los formatos de fecha del sistema Dim IsListaFormatos As String IsListaFormatos IdtFecha GetDateTimeFormats Dim IsFormato As String For Each IsFormato In IsListaFormatos Console WriteLine IsFormato Next Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas Arrays e Permiten agrupar un conjunto de valores del mismo tipo y acceder a ellos a trav s de un nico identificador especificando el ndice donde se encuentra el dat
9. acontece en una ubicaci n de espacio y tiempo no predecible e Dentro de una aplicaci n NET es una notificaci n lanzada por un objeto que podr ser respondida por aquellos otros objetos interesados en darle soporte Clase Empleado Propiedades M todos Eventos LimiteSueldo UCLM ESI Programaci n con Visual Basic NET m25 Eventos Emisi n de eventos Public Class Empleado Public Property Sueldo As Double declaramos el evento Get Public Event LimiteSueldo ByVal _ Return mdbSueldo IdbImporte As Double End Get Set ByVal Value As Double Private msNombre As String si el valor que intentamos asignar Private mdbSueldo As Double al sueldo supera el permitido Public Property Nombre As String If Value gt 1000 Then Get lanzamos el evento y le pasamos Return msNombre como par metro informativo el valor End Get incorrecto que intent bamos asignar Set ByVal Value As String RaiseEvent LimiteSueldo Value msNombre Value Else End Set mdbSueldo Value End Property End If End Set End Property End Class UCLM ESI Programaci n con Visual Basic NET Eventos Recepci n de eventos Module Modulel Private WithEvents moEmple As Empleado Public Sub moEmple_LimiteSueldo ByVal IdbImporte As Double _ Handles moEmple LimiteSueldo Console WriteLine Se ha sobrepasado para 0 el l mite 8 _ establecido de sueldo moEmple Nombre Console WriteLine El importe 0 no es v lido IdbImp
10. codificaci n de dichos miembros ser particular a cada clase Public Interface ICadena ReadOnly Property Longitud As Integer Function ObtenerValor As String End Interface Public Class Empleado Implements ICadena End Class UCLM ESI Programaci n con Visual Basic NET m23 Estructuras Public Structure DatosBanco Public IDCuenta As Integer Public Titular As String Public Saldo As Integer End Structure e Estructuras vs Clases Qu utilizar UCLM ESI Programaci n con Visual Basic NET Estructuras La estructura DateTime e DateTime Today devuelve la fecha actual DateTime DaysInMonth a o mes devuelve el n mero de d as que tiene el mes de un a o DateTime Compare fechal fecha2 compara dos fechas objetoDateTime AddDays dias a ade a la fecha tantos d as como se indiquen objetoDate Time AdadMonths meses a ade a la fecha tantos meses como se indiquen objetoDate Time ToLongDateString formatea la fecha UCLM ESI Programaci n con Visual Basic NET m24 Estructuras Enumeraciones Public Enum Musicas As Integer Rock 0 Blues 1 NewAge 2 Funky 3 End Enum Dim IxMusic as Musicas IxMusic Musicas NewAge Console WriteLine lxMusic para obtener las constantes System Enum GetValues IxMusic GetType para obtener los nombres System Enum GetNames IxMusic GetType UCLM ESI Programaci n con Visual Basic NET Eventos e Suceso o situaci n que
11. NET Dim IsCadena As String Dim IsRellena As String IsCadena Hola IsRellena IsCadena PadLeft 10 y Hola IsRellena IsCadena PadRight 10 W c HolaWWWWWW Dim IsCadena As String Dim IsAgregar As String IsCadena Estamos programando IsAgregar IsCadena Insert 2 HOLA EsHOLAtamos programando UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La clase String iii Dim IsCadena As String Dim IsQuitar As String IsCadena Estamos programando IsQuitar IsCadena Remove 5 3 Estamprogramando Dim IsCadCompleta As String IsCadCompleta En el bosque se alza el castillo negro Console WriteLine Replace gt 0 IsCadCompleta Replace el la Dim IsCadena As String IsCadena veinte Console WriteLine IsCadena StartsWith ve True Console WriteLine IsCadena EndsWith TE False UCLM ESI Programaci n con Visual Basic NET 28 Clases Predefinidas La clase String iv Dim IsCadCompleta As String IsCadCompleta En el bosque se alza el castillo negro Console WriteLine Substring gt 0 IsCadCompleta Substring 6 5 Console WriteLine IndexOf gt 0 IsCadCompleta IndexOf el Console WriteLine LastIndex0f gt 0 IsCadCompleta LastIndexOf el Dim IsCadMayMin As String IsCadMayMin CamblaNDO A may sCUIAs Y MIN SCULAS Console WriteLine Pasar a may gt 0 IsCadMayMin ToUpper Console WriteLine Pasar a min
12. Programaci n con Visual Basic NET http alarcos inf cr uclm es per fruiz cur vbn vbn htm 3 Orientaci n a Objetos en Visual Basic NET Francisco Ruiz Manuel Serrano Escuela Superior de Inform tica Universidad de Castilla La Mancha Manuel ngel Serrano Mart n Contacto Personal Email Manuel SerranoQuclm es Web alarcos inf cr uclm es per mserrano Curso http alarcos inf cr uclm es per fruiz cur vbn vbn htm A alarcos inf cr uclm es UCLM ESI Programaci n con Visual Basic NET ml Programaci n con Visual Basic NET Contenidos sesi n 3 Orientaci n a Objetos Encapsulaci n Polimorfismo Espacios de Nombres Herencia Interfaces Estructuras Eventos Clases Predefinidas UCLM ESI Programaci n con Visual Basic NET Orientaci n a Objetos Programaci n Estructurada vs OO Ej Gesti n de una Empresa Module General Module Pagos Public psNombre As String Public Sub TransfNomina ByVal lilDEmpleado As Integer Public Sub Main ByVal _ Idbimporte As Double End Sub End Sub Public Sub CalcularVacaciones ByVal lilDEmpleado As Integer _ Public Sub MostrarEmpleado ByVal lilDEmpleado As ByVal IdtFechalnicio As Date ByVal liNumDias As Integer z Integer End Sub 5 Ed A otros procedimientos del m dulo i otros procedimientos del m dulo End Module End Module Module Varios Public psApellidos As String H f z A Public Sub CrearEmpleado ByVal lilDEmpleado As Intege
13. a 1 atenci n el sueldo para este empleado deber a estar entre 1 a 200 debido a su categor a loEmpleado pdbSueldo 250 End Sub End Module Public Class Empleado Public msNombre As String Public miCategoria As Integer Public mdbSueldo As Double End Class UCLM ESI Programaci n con Visual Basic NET Encapsulaci n Encapsulaci n a trav s de propiedades ii Public Property Sueldo As Double Get Return mdbSueldo End Get cuando asignamos el valor a esta propiedad ejecutamos c digo de validaci n en el bloque Set Set ByVal Value As Double si la categor a del empleado es 1 If miCategoria 1 Then pero el sueldo supera 200 If Value gt 200 Then mostrar un mensaje y asignar un cero Console WriteLine La categor a no corresponde con el sueldo mdbSueldo 0 Else si todo va bien asignar el sueldo mdbSueldo Value End If End If End Set End Property UCLM ESI Programaci n con Visual Basic NET m10 Encapsulaci n Propiedades de s lo lectura escritura esta propiedad s lo permite asignar valores por lo que no dispone de bloque Get Public WriteOnly Property CuentaBancaria _ As String Set ByVal Value As String Select Case Left Value 4 esta propiedad s lo permite obtener Case 1111 lores l e no dispone de msEntidad Banco Universal ya OSS PONSA dispo Case 2222 bloque Set msEntidad Banco General Public ReadOnly Property EntidadBancaria _
14. acceder a las propiedades del objeto desde este proyecto no est disponible el miembro mdbSueldo ya que est declarado como Friend en la clase Empleado loEmplea pilD 70 loEmplea Nombre Alicia Mar loEmplea VerDatos Console Read End Sub End Module UCLM ESI Programaci n con Visual Basic NET m20 Herencia Reglas de mbito vi e Protected Friend e Herencia Sobrecarga de m todos e MyBase Public Class Administrativo Inherits Empleado Public Overloads Sub CalcularIncentivos ByVal liHoras As Integer llamamos a la clase base con MyBase para hacer en primer lugar los mismos c lculos de incentivos de la clase Empleado MyBase CalcularIncentivos despu s se hacen los c lculos propios de esta clase Me pilncentivos liHoras 15 End Sub End Class UCLM ESI Programaci n con Visual Basic NET Herencia Ocultamiento de miembros de una clase e Shadows Public Class Empleado Public Sub Sueldo aqu mostramos en consola el importe del sueldo formateado Console WriteLine El sueldo es 0 Format Me Salario Console ReadLine End Sub End Class Public Class Administrativo si aqu no utiliz ramos Shadows el entorno marcar a este m todo con un aviso Public Shadows Sub Sueldo aqu incrementamos el valor actual de la propiedad Salario Me Salario 250 End Sub End Class UCLM ESI Programaci n con Visual Basic NET m21 Herencia Clases Selladas y Clases Abs
15. alance es 0 Me psDescripcion Console ReadLine End Sub End Class End Namespace UCLM ESI Programaci n con Visual Basic NET m15 Espacios de Nombres vi Imports ConsoleApplicationi Contabilidad Module Modulei Sub Main instanciamos con sintaxis calificada Dim loCuen As New Contabilidad Cuenta Dim liDatoCuenta As Integer loCuen piCodigo 158 liDatoCuenta loCuen Obtener al haber importado el espacio de nombres podemos instanciar usando el nombre de la clase directamente Dim loBal As Balance loBal New Balance loBal psDescripcion Resultado trimestral loBal MostrarDescrip Console ReadLine End Sub End Module UCLM ESI Programaci n con Visual Basic NET Espacios de Nombres Esp nombres de otros ensamblados i Agregar nuevo proyecto Tipos de proyecto Plantillas Proyectos de Visual Basic 9 Proyectos de Visual C 9 Proyectos de visual SE gt Aplicaci n Biblidtecade Biblicteca de 2 Proyectos de instalaci n e implementaci n f para Windows clases controles E Otros proyectos g Rk a Aplicaci n Servicio Web Biblicteca de Web ASP NET ASP NET controles Web y Proyecto para crear clases que se van a utilzar en otras aplicaciones Nombre Adicional Ubicaci n K CursoYBNET Texto1t11 OOP NamespOtrosEnsamb h Examinar El proyecto se crear en K CursoYBNET Texto t1100P NamespOtrosEnsambiAdcional e aa UCLM ESI Programaci n con Visual
16. cedemos al m todo p blico del objeto loUsu AsignarNombre Daniel End Sub End Module Public Class Usuario esta variable s lo es accesible por el c digo de la propia clase Private msNombre As String este m todo es accesible desde cualquier punto Public Sub AsignarNombre ByVal IsValor As String msNombre IsValor End Sub End Class UCLM ESI Programaci n con Visual Basic NET 18 Herencia Reglas de mbito ii Protected Module Modulei Sub Main Protected psDNI As String Protected Function VerFecha Return pdtFecha End Function Public Sub AsignarDNI ByVal IsDNI As String desde aqu s tenemos acceso a la variable Protected declarada en la clase con una instancia del objeto Empleado o Administrativo no podemos acceder al m todo VerFecha ya que es Protected Dim loEmp As Empleado New Empleado Me psDNI IsDNI loEmp psNombre Pedro Peral End Sub Dim loAdmin As New Administrativo End Class loAdmin pilD 567 Public Class Administrativo loAdmin psNombre Juan Iglesias Inherits Empleado loAdmin pdtFecha 5 9 2002 Public piID As Integer loAdmin AsignarDNI 11223344 Public Sub DatosAdmin loAdmin DatosAdmin Console WriteLine Datos del administrativo Console Read Console WriteLine Identificador 0 Me pilD End Sub Console WriteLine Nombre 0 Me psNombre End Module desde esta clase derivada s tenemos acceso Public Class Empleado a lo miembtos Protec
17. dena As String IsCadena Convert ToString 150 150 Dim liNum As Integer liNum Convert ToInt32 IsCadena 150 UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La estructura Char i Public Sub Main Dim IcCaracter As Char Dim IsResultado As String Dim IcConvertido As Char Do Console WriteLine Introducir un car cter o cero para salir IcCaracter Convert ToChar Console ReadLine IsResultado IcConvertido Nothing IsDigit indica si el car cter es un d gito decimal Tf Char IsDigit IcCaracter Then IsResultado d gito End If IsLetter indica si el car cter es una letra If Char IsLetter IcCaracter Then IsResultado letra End If UCLM ESI Programaci n con Visual Basic NET m30 Clases Predefinidas La estructura Char ii IsWhiteSpace indica si el car cter es un espacio en blanco Tf Char IsWhiteSpace IcCaracter Then IsResultado espacio End If IsPunctuation indica si el car cter es un signo de puntuaci n Tf Char IsPunctuation IcCaracter Then IsResultado amp puntuaci n End If IsUpper comprueba si el car cter est en may scula Tf Char IsUpper IcCaracter Then IsResultado amp may scula ToLower convierte el car cter a min scula IcConvertido Char ToLower IcCaracter End If IsLower comprueba si el car cter est en min scula Tf Char IsLower IcCaracter Then IsResultado amp min scula ToUpper conv
18. gramaci n con Visual Basic NET m3 Orientaci n a Objetos Clases Conjunto de especificaciones o normas que definen c mo va a ser creado un objeto de un tipo determinado z manual de instrucciones que contiene las indicaciones para crear y manjar un objeto clase UCLM ESI Programaci n con Visual Basic NET Orientaci n a Objetos Instancias de una clase ica 8 Objeto Figural AAA Objeto Fieura2 la Objeto Figura3 UCLM ESI Programaci n con Visual Basic NET m Orientaci n a Objetos Caracter sticas b sicas de un SOO i e Abstracci n Identificaci n de objetos a trav s de sus aspectos conceptuales m Porsche 911 Opel Astra Seat 600 Coche e Encapsulaci n m Separaci n entre el interfaz del objeto y su implementaci n a Ventajas a Seguridad evita accesos no deseados a Simplicidad no es necesario conocer la implementaci n de un objeto para poder utilizarlo Empleado Alta id UCLM ESI Programaci n con Visual Basic NET 3 9 Orientaci n a Objetos Caracter sticas b sicas de un SOO ii e Polimorfismo m Varios m todos con el mismo nombre pueden realizar acciones diferentes Pelota Tirar VasoCristal Tirar e Herencia m Partiendo de una clase base padre o superclase creamos una nueva derivada hija o subclase m La clase hija posee TODO el c digo de la clase padre m s el c digo propio que se quiera a adir a La clase derivada puede
19. ierte el car cter a may scula IcConvertido Char ToUpper IcCaracter End If UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La estructura Char iii mostramos una cadena con el tipo de car cter Console WriteLine El car cter es 0 IsResultado si hemos convertido el caracter a may scula min scula lo mostramos Tf Char IsLetter IcConvertido Then Console WriteLine El car cter se ha convertido 0 IcConvertido End If Console WriteLine no salimos hasta que no se introduzca un O Loop Until IcCaracter 0 c End Sub UCLM ESI Programaci n con Visual Basic NET m31 Clases Predefinidas La clase Math i Sub Main Dim liSigno As Integer Dim IdbRedondear As Double Abs devuelve el valor absoluto del n mero pasado como par metro Console WriteLine Abs gt 0 Math Abs 1867 79 Ceiling devuelve el n mero sin precisi n decimal m s grande o igual que el pasado como par metro Console WriteLine Ceiling gt 0 Math Ceiling 256 7235 Floor devuelve el n mero sin precisi n decimal m s peque o o igual que el pasado como par metro Console WriteLine Floor gt 0 Math Floor 256 7235 UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La clase Math ii Sign devuelve un valor informando del signo del n mero pasado como par metro Console WriteLine Introducir n mero para averiguar su signo liSigno Console
20. lar la cantidad de elementos del array s lo hemos de avanzar posiciones con MoveNext y obtener el valor actual con Current While oOEnumerador MoveNext Console WriteLine Valor actual 0 oEnumerador Current End While Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La clase Array vi e Modificar el tama o ReDim Preserve Array Clone Array Sort Array Reverse Array IndexOf Array LastIndexOf Arrays Multidimensionales Dim iDatos 2 4 As Integer UCLM ESI Programaci n con Visual Basic NET m36 Clases Predefinidas La clase Array vii e Arrays Multidimensionales e Array Rank Devuelve el n mero de dimensiones e Array GetLength dimension Devuelve el n mero de elementos de una dimensi n e Array GetLowerBound dimension Devuelve el n mero de ndice inferior de una dimensi n e Array GetUpperBound dimension Devuelve el n mero de ndice superior de una dimensi n UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas Colecciones e Objetos que internamente gestionan arrays pero que estan preparados para gestionarlos de forma optimizada e Espacio de Nombres System Collections m ArrayList a Hashtable SortedList Queue m Stack UCLM ESI Programaci n con Visual Basic NET m37 Clases Predefinidas Colecciones La clase ArrayList i e Array cuyo n mero de elementos puede modifica
21. le WriteLine Posicion 0 Valor 1 Contador sNombres iContador Next Console WriteLine con bucle For Each Console WriteLine Recorrido del array con bucle For Each For Each sUnNombre In sNombres Console WriteLine Nombre actual 0 sUnNombre Next Console WriteLine UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La clase Array iv Recorrer el contenido cont usando la propiedad Length Console WriteLine Recorrido del array con propiedad Length For Contador 0 To sNombres Length 1 Console WriteLine Posicion 0 Valor 1 iContador sNombres iContador Next Console WriteLine usando los m todos GetLowerBound y GetUpperBound Console WriteLine Recorrido del array con m todos GetLowerBound y GetUpperBound For Contador sNombres GetLowerBound 0 To sNombres GetUpperBound 0 Console WriteLine Posicion 0 Valor 1 Contador sNombres iContador Next Console WriteLine UCLM ESI Programaci n con Visual Basic NET m35 Clases Predefinidas La clase Array v Recorrer el contenido cont recorrer con un enumerador Console WriteLine Recorrido del array con un enumerador Dim sLetras As String a b c d Dim oEnumerador As System Collections IEnumerator obtener el enumerador del array oEnumerador sLetras GetEnumerator con un enumerador no es necesario posicionarse en el primer elemento ni calcu
22. nsole ReadLine End Sub Public Overloads Function Sueldo ByVal liDia As Integer As String aqu mostramos la fecha del mes actual en la que se realizar la transferencia del sueldo al banco del empleado Dim IdtFechaActual As Date Dim IsFechaCobro As String IdtFechaActual Now IsFechaCobro CStr liDia 8 8 CStr Month IdtFechaActual amp amp _ CStr Year IdtFechaActual Return IsFechaCobro End Function UCLM ESI Programaci n con Visual Basic NET Espacios de Nombres i P ginas de propiedades de ConsoleApplicationt 3 Propiedades comunes Nombre del ensamblado Y General ConsoleAppiication1 E Tipo de resultado Objeto inicial Inportacienes Ruta de acceso de refe apica j nde consola Modue1 Y Nombre seguro Espacio de nombres de la ra z valores predeterminad ConsoleBopication Irformaci n Carpeta de proyecto K 1CursovBNETITextolt11DOPNamespacePruebas ConsoleApplicat Archivo de proyecto ConsoleApplkcation1 vbproj Nombre del restado ConsoleAppication1 exe AAN UCLM ESI Programaci n con Visual Basic NET m13 Espacios de Nombres ii Module Modulei Sub Main como la clase Factura se encuentra en el espacio de nombres ra z instanciamos normalmente Dim loFac As New Factura loFac pilD 5 loFac pilmporte 200 loFac Datos Console ReadLine End Sub End Module clase Factura esta clase se encuentra dentro del espacio de nombres ra z del ensamblado P
23. o a recuperar Sub Main declarar un array de tipo String el n mero de elementos es el indicado en la declaraci n m s uno porque la primera posici n de un array es cero Dim sNombres 3 As String asignar valores al array sNombres 0 Ana sNombres 1 Pedro sNombres 2 Antonio sSNombres 3 Laura pasar un valor del array a una variable Dim sValor As String sValor sNombres 2 mostrar en la consola el valor pasado a una variable y un valor directamente desde el array Console WriteLine Valor de la variable sValor 0 sValor Console WriteLine Valor del array posici n 1 0 sSNombres 1 Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET m33 Clases Predefinidas La clase Array i e El primer ndice del Array es siempre 0 e No pueden crearse Arrays con rangos de ndices e Todos los Arrays son din micos e Declaraci n Sub Main 1 estableciendo el n mero de elementos Dim sNombres 2 As String 2 asignando valores al array al mismo tiempo que se declara Dim sEstaciones As String Ana Pedro Luis 3 indicando el tipo de dato pero no el n mero de elementos Dim Valores As Integer 4 indicando el tipo de dato y estableciendo una lista vac a de elementos Dim Datos As Integer 5 instanciando el tipo de dato estableciendo el n mero de elementos al instanciar e indicando que se trata de un array al situar las llaves Dim
24. orte Console ReadLine End Sub End Module UCLM ESI Programaci n con Visual Basic NET m26 Clases Predefinidas e CTS Sistema Com n de Tipos CLR type system Object ValueType Boolean i E Byte Enum Ch Seye j Todos los tipos Singe en el namespace 7 Currency sai z ba pe e po TimeSpan Synem E DateTime o TypedRef lecimal y String Un Double Array Guid Intt6 Exception A Void Int32 Ulnt32 Ulnt64 Delegate MultiCastDelegate UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas La clase String i modo tradicional Dim IsCad1 As String IsCad1 mesa instanciar un objeto String y asignar valor Dim loCad2 As New String silla declarar variable e instanciar un objeto String en la misma l nea Dim loCad3 As String New String coche declarar variable e instanciar un objeto String en la misma l nea el constructor utilizado en este caso requiere un array de objetos Char Dim loCad4 As String New String New Char t r e n UCLM ESI Programaci n con Visual Basic NET m27 Clases Predefinidas La clase String ii Dim IsCadena As String IsCadena Hola NET Dim IsQuitar As String IsQuitar IsCadena TrimEnd e Hola NET IsQuitar IsCadena TrimStart Hola NET E IsQuitar IsCadena Trim Hola
25. r _ Va ria bles p b m d ulos ByVal IsNombre As String ByVal IsApellidos As String _ P ByVal IsDNI As String ByVal ldtFechaAlta As Date Demasiados proc lentos End Sub C digo disperso otros procedimientos del m dulo er Dif cil mant End Module UCLM ESI Programaci n con Visual Basic NET Orientaci n a Objetos Estructuras de c digo Conjunto de procedimientos e informaci n que ejecutan una serie de procesos destinados a resolver un grupo de tareas con un denominador com n Habr tantas estructuras de c digo como aspectos del programa sea necesario resolver Los procedimientos y los datos que contenga la estructura s lo podr n acceder y ser accedidos por otros procedimientos y datos bajo una serie de reglas estructuras de c digo gt Objetos UCLM ESI Programaci n con Visual Basic NET Orientaci n a Objetos Objetos Un objeto es una agrupaci n de c digo compuesta de propiedades atributos y m todos que pueden ser manipulados como una entidad independiente Las propiedades definen los datos o informaci n del objeto permitiendo consultar o modificar su estado mientras que los m todos son rutinas que definen su comportamiento Un objeto desempe a un trabajo concreto dentro de una estructura organizativa de nivel superior formada por m ltiples Orts cada uno de los cuales ejerce una tarea particular para la cual ha sido dise ado Objeto Empleado UCLM ESI Pro
26. rse din micamente Sub Main Dim alDatos As New ArrayList 10 alDatos Add a alDatos AddRange New String b c d Console WriteLine ArrayList despu s de usar Add y AddRange RecorrerAList alDatos alDatos Insert 2 hola Console WriteLine ArrayList despu s de usar Insert RecorrerAList alDatos alDatos InsertRange 1 New Integer 55 77 88 Console WriteLine ArrayList despu s de usar InsertRange RecorrerAList alDatos alDatos SetRange 3 New String zzz yyy Console WriteLine ArrayList despu s de usar SetRange RecorrerAList alDatos Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas Colecciones La clase ArrayList ii Private Sub RecorrerAList ByVal alValores As ArrayList Dim oEnumerador As IEnumerator alValores GetEnumerator While oOEnumerador MoveNext Console WriteLine Valor 0 oEnumerador Current End While Console WriteLine End Sub ArrayList GetRange posicion n Obtiene un subarray comenzando por posicion y tomando n elementos ArrayList FixedSize arraylist Crea un array de tama o fijo a partir de otro No se pueden a adir elementos ArrayList Repeat valor cantidad Crea un array de cantidad valores repetidos y con el va orindicado ArrayList ToArray Copia los elementos del ArrayList en un Array UCLM ESI Programaci n con Visual Basic NET 38 Clases Predefinidas Colecciones La cla
27. s 0 oPila Pop End While Console ReadLine End Sub UCLM ESI Programaci n con Visual Basic NET Ejercicio e Realizar una peque a aplicaci n que cumpla los siguientes requisitos m Debe aceptar una cadena de texto del usuario m Debe devolver los siguientes valores a La cadena sin espacios a La cadena en la que se substituyen los espacios por Los 3 primeros caracteres de la cadena a El n mero de caracteres de la cadena a La cadena invertida haced uso de la clase stack UCLM ESI Programaci n con Visual Basic NET m44
28. sale B un sale c UCLM ESI Programaci n con Visual Basic NET m41 Clases Predefinidas Colecciones La clase Queue ii Sub Main crear objeto Queue cola de valores Dim aqListaMensa As New Queue Console WriteLine Introducir mensajes Dim sMensaje As String bucle de recepci n de mensajes Do sMensaje Console ReadLine si hemos escrito algo If sMensaje Length gt 0 Then a adimos a la cola aqListaMensa Enqueue sMensaje Else salimos Exit Do End If Loop UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas Colecciones La clase Queue iii la propiedad Count nos indica la cantidad de elementos en la lista Console WriteLine Hay 0 mensajes para procesar aqListaMensa Count con un enumerador recorremos la lista Dim oEnumerador aqListaMensa GetEnumerator Console WriteLine Contenido del objeto Queue RecorrerEnumerador oEnumerador Console ReadLine End Sub Public Sub RecorrerEnumerador ByVal oEnumerador As IEnumerator While oEnumerador MoveNext Console WriteLine oEnumerador Current End While Console WriteLine End Sub UCLM ESI Programaci n con Visual Basic NET m42 Clases Predefinidas Colecciones La clase Queue iv Sub Main Dim aqListaMensa As New Queue Dim sMensaje As String Dim Contador As Integer bucle de recepci n de mensajes Do Contador 1 Console WriteLine Mensaje nro 0 amp Pulse INTRO
29. se ArrayList iii ArrayList Contains patron Indica si patron existe en el array ArrayList Remove valor Elimina un elemento ArrayList RemoveaAt posicion Elimina el elemento situado en el ndice indicado ArrayList RemoveRange posicion n Elimina un conjunto de 7 elementos comenzando por posicion ArrayList Clear Elimina todos los elementos del objeto UCLM ESI Programaci n con Visual Basic NET Clases Predefinidas Colecciones La clase Hashtable i e El acceso a los valores del array se realiza a traves de una clave asociada a cada elemento Sub Main declarar colecci n Hashtable Dim htCliente As Hashtable htCliente New Hashtable a adir valores htCliente Add ID 22 tCliente Add Nombre Pedro htCliente Add Apellidos Naranjo htCliente Add Domicilio C Rio Bravo 25 htCliente Add Edad 35 htCliente Add Credito 250 mostrar el n mero de elementos que contiene Console WriteLine El objeto Hashtable tiene 0 elementos htCliente Count Console WriteLine UCLM ESI Programaci n con Visual Basic NET m39 Clases Predefinidas Colecciones La clase Hashtable ii obtener algunos valores Console WriteLine Obtener algunos valores del objeto Hashtable Console WriteLine Domicilio 0 htCliente Item Domicilio Console WriteLine Nombre 0 htCliente Nombre Console WriteLine Credito 0 htCliente Credito Console WriteLine
30. ser a la vez base Simple NET M ltiple UCLM ESI Programaci n con Visual Basic NET m5 Orientaci n a Objetos Caracter sticas b sicas de un SOO iii e Herencia ejemplos Coche Motor Ruedas Volante Acelerar CocheDeportivo ABS Turbo Empleado DNI FechaNacimiento Fichar CogerVacaciones CyberEmpleado email EncriptarDatos UCLM ESI Programaci n con Visual Basic NET Orientaci n a Objetos Jerarqu as de clases Medios de transporte Transbordador Transatl ntico UCLM ESI Programaci n con Visual Basic NET m6 Orientaci n a Objetos An lisis y Dise o OO i gt A L Unified Modeling Language Tu www uml orqg UCLM ESI Programaci n con Visual Basic NET Orientaci n a Objetos An lisis y Dise o OO ii Crear una aplicaci n en la que podamos realizar sobre una base de datos las siguientes operaciones a adir borrar y modificar clientes Por otro lado ser necesario crear facturas grabando sus datos generales y calcular su importe total Programaci n estructurada A adirCliente BorrarCliente ModificarCliente GrabarFac CalcularTotalFac Programaci n OO Objetos Cliente Factura Objeto Cliente propiedades Nombre Apellidos Direcci n DNI m todos A adir Borrar Modificar Objeto Factura propiedades N mero Fecha Importe m todos Grabar CalcularTotal
31. ted de la clase padre Public psNombre As String Console WriteLine Fecha 0 Me VerFecha Public pdtFecha As Date Console WriteLine DNI 0 Me psDNI los dos siguientes miembros s lo ser n visibles End Sub dentro de esta clase o en sus clases derivadas End Class UCLM ESI Programaci n con Visual Basic NET Herencia Reglas de mbito ii i Friend Public Class Empleado Public piID As Integer Private msNombre As String variable s lo por tipos que est n dentro de este ensamblado Friend mdbSueldo As Double Public Property Nombre As String Get Return msNombre End Get Set ByVal Value As String msNombre Value End Set End Property Public Sub VerDatos Console WriteLine Datos del empleado Console WriteLine C digo 0 Me pilD Console WriteLine Nombre 0 Me msNombre Console WriteLine Sueldo 0 Me mdbSueldo End Sub End Class UCLM ESI Programaci n con Visual Basic NET m19 Herencia Reglas de mbito iv Friend Public Class Plantilla Public Sub Analizar Dim loEmp As Empleado New Empleado loEmp pilD 50 loEmp Nombre Francisco Perea desde aqu s podemos acceder a mdbSueldo ya que es el mismo ensamblado loEmp mdbSueldo 450 loEmp VerDatos End Sub End Class UCLM ESI Programaci n con Visual Basic NET Herencia Reglas de mbito v Imports ClassLibrary1 Module Modulel Sub Main Dim loEmplea As Empleado New Empleado al
32. tractas e Selladas NotInheritable Public NotInheritable Class NombreClase e Abstractas MustInherit Public MustInherit Class NombreClase UCLM ESI Programaci n con Visual Basic NET Casting Module Modulei Public Sub Main Dim loEmple As New Empleado loEmple pilD 58 loEmple psNombre Elena Peral ManipularVarios loEmple Dim loFac As New Factura loFac pdtFecha 25 2 2002 loFac pilmporte 475 ManipularVarios loFac Console Read End Sub UCLM ESI Programaci n con Visual Basic NET Public Sub ManipularVarios ByVal loUnObjeto _ As Object obtenemos informaci n sobre el tipo del objeto Dim loTipoObj As Type loTipoObj loUnObjeto GetType comprobamos qu tipo de objeto es y en funci n de eso ejecutamos el m todo adecuado Select Case loTipoObj Name Case Empleado CType loUnObjeto Empleado VerDatos Case Factura CType loUnObjeto Factura Emitir End Select End Sub End Module m22 Interfaces e Proporcionan a modo de declaraci n una lista de propiedades y m todos que se codificar n en una o m s clases e Contrato a El interfaz no puede cambiarse m La clase que lo implementa se compromete a crear los miembros que forman el interfaz de la manera en que lo indica UCLM ESI Programaci n con Visual Basic NET Interfaces Ejemplo las clases que implementen este interfaz deber n crear la propiedad Longitud y el m todo ObtenerValor la
33. ublic Class Factura Public pilD As Integer Public pilmporte As Integer Public Sub Datos Console WriteLine La factura 0 tiene un importe de 1 Me pilD Me pilmporte End Sub End Class UCLM ESI Programaci n con Visual Basic NET Espacios de Nombres iii clase Empleado esta clase se encuentra dentro del espacio de nombres ra z del ensamblado y a su vez dentro del espacio de nombres Personal Namespace Personal Public Class Empleado Public psID As Integer Public Sub MostrarDatos Console WriteLine Identificador del empleado 0 Me psID Console ReadLine End Sub End Class End Namespace UCLM ESI Programaci n con Visual Basic NET m14 Espacios de Nombres iv debemos importar el espacio de nombres o no podremos instanciar objetos de las clases que contiene Imports ConsoleApplicationi Personal Module Modulei Sub Main como hemos importado el espacio de nombres Personal podemos instanciar un objeto de su clase Empleado Dim loEmp As Empleado loEmp New Empleado loEmp pilD 5 loEmp MostrarDatos Console ReadLine End Sub End Module UCLM ESI Programaci n con Visual Basic NET Espacios de Nombres v Namespace Contabilidad Public Class Cuenta Public piCodigo As Integer Public Function Obtener As Integer Return Me piCodigo End Function End Class Public Class Balance Public psDescripcion As String Public Sub MostrarDescrip Console WriteLine La descripci n del b

Download Pdf Manuals

image

Related Search

Related Contents

3.3. ETABLIR UN CONTRAT DIDACTIQUE  Elo Touch Solution 15D1  三鶯重工 一桿式鐵道模型控制器 使用說明  GE DPGT750 User's Manual  istruzioni per l`uso servoamplificatore profibus dp ba  DW34W DW34X  Restauration collective  Produits USB, EXSYS 17759 Câble adaptateur USB  User Reference Guide - MSC Fileman 22.2 Documentation  法人向けひかり電話サービスの ご利用方法  

Copyright © All rights reserved.
Failed to retrieve file