Академический Документы
Профессиональный Документы
Культура Документы
NET
Microsoft Visual Studio 2005 Unidades Didctica 21
1. Introduccin
Con Visual Basic .NET se pueden escribir tanto programas convencionales como
para Internet. Las aplicaciones podrn mostrar una interfaz grfica al usuario, o
bien una interfaz de texto (denominada de consola).
Programa Cdigo
escrito en .NET Escrito en Compilador Cdigo
Compilador
(cdigo fuente) JIT mquina
MSIL
Editar el programa
Compilarlo
Ejecutarlo
Depurarlo
2VBNET 1
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
www.microsoft.com/downloads
Solo falta un editor de cdigo fuente. Es suficiente con un editor de texto sin
formato; por ejemplo el bloc de notas de windows.
Imports System
Public Module test
Public Sub Main()
Console.writeline("Buenos dias")
End Sub
End Module
Imports System
Esta lnea permite tener directamente accesibles los elementos del Namespace
System. Sin ella, se tendran que utilizar los nombres completos para todos los
elementos contenidos dentro del Namespace. En nuestro caso, deberamos utilizar:
System.Console.writeline(Buenos das)
En Visual Basic, toda parte de cdigo debe estar contenida dentro de un mdulo o
clase.
Console.writeline(Buenos das)
Hay que destacar que Visual Basic no hace distincin entre minsculas y
maysculas dentro de las instrucciones.
2VBNET 2
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Compilacin
Inicio/Programas/Microsoft .NET framework SDK v2.0 /Smbolo del sistema del SDK
2VBNET 3
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Para aplicaciones mas complicadas suele ser til especificar ciertas opciones para el
funcionamiento del compilador. El conjunto de las opciones disponibles se puede
obtener lanzando el comando vbc / ?.
2VBNET 4
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Aplicacin Windows
-System
-System.Data
-System.Drawing
-System.Windows.Forms
-System.Xml
Biblioteca de clases
Esta plantilla se puede utilizar para crear clases y componentes que podrn
compartirse con otros proyectos.
La plantilla aade al proyecto los siguientes elementos:
-System
-System.Data
-System.Xml
2VBNET 5
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Permite crear una biblioteca de clases utilizable en otros proyectos. Esta biblioteca
es ms especfica, ya que se dedica a crear controles utilizables en una aplicacin
Windows.
La plantilla aade al proyecto los siguientes elementos:
-System
-System.Data
-System.Drawing
-System.Windows.Forms
-System.Xml
Aplicacin de consola
Este tipo de aplicacin debe ser ejecutada a partir de la lnea de comandos de una
ventana de comandos. No tiene interfaz grfica, y las entradas y salidas se realizan
a partir de la lnea de comando y hacia la consola.
La plantilla aade al proyecto los siguientes elementos:
-System
-System.Data
-System.Xml
Servicios Windows
Est plantilla est pensada para la creacin de aplicaciones que se ejecutan como
tareas del sistema.
Proyecto Vaco
2VBNET 6
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Module HolaMundo
'
' Punto de entrada al programa.
'
Sub Main()
System.Console.WriteLine("Hola mundo!!!")
System.Console.Readline()
End Sub
End Module
2VBNET 7
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
En este caso calculamos la suma, resta, producto, y la divisin de dos datos cuyo
valor son 20 y 10.
dentro de esa cadena podemos usar unos indicadores o marcadores en los que se
mostrarn los parmetros indicados en esos dos mtodos de la clase Console.
{N [, M ][: Formato ]}
Console.WriteLine("---------- ----------")
Console.WriteLine("{0,10} {1,-10} {2}", 10, 15, 23)
Console.WriteLine("---------- ----------")
Console.WriteLine("{0,10:#,###.00} {1,10}", 10.476, 15.355)
2VBNET 8
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Console.WriteLine("--------------------")
Console.WriteLine("{0,20}", s)
Console.WriteLine("{0,20}", s1)
Console.WriteLine("--------------------")
Ejemplo 3: Procedimientos
2VBNET 9
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Module Aritmtica
'
' Procedimiento sumar:
' parmetros x e y de tipo double
' devuelve x + y
'
Function sumar(ByVal x As Double, ByVal y As Double) As Double
Dim resultado As Double = 0
sumar = x + y
'resultado = x + y
'Return resultado
End Function
Sub Main()
Dim a As Double, b As Double, r As Double = 0
Console.WriteLine("Introduzca un numero: ")
a = Console.ReadLine()
Console.WriteLine("Introduzca un numero: ")
b = Console.ReadLine()
r = sumar(a, b)
System.Console.WriteLine("Suma = " & r)
End Sub
End Module
2VBNET 10
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Siguiendo con la analoga entre una clase y un plano de un edificio. Sabemos que
es posible construir diferentes edificios a partir del mismo plano. De la misma
manera, se pueden construir muchos objetos a partir de la misma clase.
3.1 Objetos.Clases
Los trminos clase y objeto por lo tanto son diferentes. Una clase representa la
estructura de un elemento, mientras que el objeto es un ejemplar creado
basndose en el modelo de esta estructura. La modificacin de un objeto no
cambia para los otros objetos creados a partir del mismo modelo (clase).En nuestro
ejemplo: aadir una parte a un edificio existente no cambia en los dems edificios
construidos siguiendo el mismo plano. Al revs, la modificacin del plano(clase)
lleva una serie de modificaciones para todos los nuevos edificios (todos los nuevos
objetos).
Ejemplo 3:
2VBNET 11
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Los mtodos representan las acciones que un objeto puede realizar. Se aplican
creando procedimientos o funciones en una clase.
Los eventos son informaciones que un objeto recibe o transmite desde o hacia otro
objeto o aplicacin. Estos permiten que los objetos ejecuten ciertas acciones al
verificarse una situacin especial (p.e. evento que puede venir cuando el usuario
realiza una accin con el ratn o teclado)
Cuenta01.Transferencia(cuenta02)
2VBNET 12
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Objeto
mensajes
atributos
mtodos
Vamos a crear la clase de objetos CCuenta que representa una cuenta bancaria.
Private nombre As String ' nombre del cliente del banco al que pertenece
Private cuenta As String ' nmero de cuenta
Private saldo As Double ' saldo actual de la cuenta
Private tipoDeInteres As Double ' tipo de interes en tanto por cien
End Class
Entre Class y End Class indicamos los atributos asociados a la clase cuenta.
2VBNET 13
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Dentro de los diferentes espacios de nombres hay uno que destaca por las clases
de propsito general que incluye: System en este encontraremos la clase console
que proporciona los mtodos para manipular la entrada/salida estndar, la clase
string para manipular los mtodos correspondientes para manipular cadenas, la
clase Math que proporciona los mtodos correspondientes a las funciones
matemticas de uso ms frecuente,
System.Windows
Contiene el conjunto de elementos que permiten la creacin de interfaces para
usuarios de Windows.
System.Web
Contiene todos los recursos necesarios para crear aplicaciones Web, como por
ejemplo las clases de la tecnologa ASP.NET o las clases usadas para crear servicios
Web XML.
System.Data
Contiene un conjunto de clases especializadas en el acceso a la base de datos, con
el soporte ADO.NET
System.Xml
El lenguaje XML est ahora por todas partes y este Namespace contiene las clases
que permiten la manipulacin de documentos XML.
La entrada y salida queda reforzada con la clase System.IO, que a su vez, aporta
clases para el manejo de ficheros.
En visual studio 2005 se pueden visualizar a travs de ver/examinador de
objetos
2VBNET 14
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Un mtodo se escribe en una clase de objetos y determina cmo tiene que actuar el
objeto cuando recibe el mensaje vinculado con ese mtodo. A su vez, un mtodo
puede tambin enviar mensajes a otros objetos solicitando una accin o
informacin. Adems los atributos definidos en la clase permitirn almacenar
informacin para dicho objeto.
El comportamiento queda definido por las acciones que se pueden realizar con la
clase CCuenta. Por ejemplo, de una cuenta de un cliente se puede:
2VBNET 15
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
PROGRAMA MAIN
Para poder crear objetos de esta clase y trabajar con ellos, tendremos que escribir
un programa. En un programa tiene que haber un mdulo con un procedimiento
Main, puesto que ste es el punto de entrada y salida del programa.
2VBNET 16
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
De esta forma podemos decir que cuenta01, cuenta02 y cuenta03 son objetos
(instancias) de la clase CCuenta.
Module Test
Public Sub Main()
' declaramos los objetos de la clase cuenta
Dim cuenta01 As CCuenta = New CCuenta()
cuenta01.asignarNombre("Un nombre")
cuenta01.asignarCuenta("Una cuenta")
cuenta01.asignarTipoDeInteres(2.5)
cuenta01.ingreso(1000000)
cuenta01.reintegro(500000)
System.Console.WriteLine(cuenta01.obtenerNombre())
System.Console.WriteLine(cuenta01.obtenerCuenta())
System.Console.WriteLine(cuenta01.estado())
System.Console.WriteLine(cuenta01.obtenerTipoDeInteres())
System.Console.WriteLine()
System.Console.Readline()
End Sub
CONSTRUCTORES/DESTRUCTORES
End Sub
Como vemos es un constructor sin parmetros que no hace nada. Sin embargo, es
necesario porque ser invocado cada vez que se construya un objeto sin especificar
ningn argumento, donde los valores predeterminados sern los indicados por el
sistema (numricos ceros , alfanumricos y referencias a objetos a nothing).
2VBNET 17
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
End Sub
Los constructores deben declararse siempre pblicos para que sean invocados
desde cualquier parte.
Console.WriteLine(cuenta02.obtenerNombre())
Console.WriteLine(cuenta02.obtenerCuenta())
Console.WriteLine(cuenta02.estado())
Console.WriteLine(cuenta02.obtenerTipoDeInters())
Vemos que se ha definido en un clase dos mtodos con el mismo nombre New,
cuando esto ocurre se define que el mtodo est sobrecargado, esto es posible
si los dos mtodos tienen un nmero parmetros distintos o con el mismo nmero
pero diferencindose en al menos un prametro sea de tipo diferente.
Cuando una clase sobrecarga un mtodo una o ms veces , Visual Basic se fijar en
el nmero y tipos de argumentos en la llamada para saber cual de los mtodos
tiene que ejecutar , por ello las instancias en el main() no da ningun error.
2VBNET 18
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
End Sub
La forma en que se destruyen los objetos pueden ser de dos formas: Porque los
destruyamos nosotros asignando un valor Nothing a la variable que lo referencia, o
bien porque el objeto est fuera de mbito, es decir, haya salido de su espacio de
ejecucin, por ejemplo, si declaramos un objeto dentro de un mtodo, cuando ese
mtodo termina, el objeto se destruye, (hay algunas excepciones a esta ltima
regla, como puede ser que ese mismo objeto tambin est referenciado por otra
variable externa al mtodo.)
Si nuestra clase utiliza recursos externos, por ejemplo un fichero o una base de
datos, debemos definir un mtodo que se encargue de liberarlos y a ese mtodo
debemos encargarnos de llamarlo cuando ya no lo necesitemos. Por definicin a
este tipo de mtodos se les suele dar el nombre Close o Dispose, aunque este
ltimo hay que tener cuidado.
Una vez creada una clase esta puede ser utilizada en otros proyectos para ello
deberemos crear la clase como .dll
2VBNET 19
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Imports Cuenta
Public Class Form1
Dim cta As New CCuenta
End Class
Botn Obtenerdatos
2VBNET 20
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Operacin
Vamos a realizar otro ejemplo pero en este caso creando una aplicacin windows.
Para ello vamos a crear un formulario de forma que al pulsar un botn me muestre
la informacin de la clase reloj que vamos a crear.
2VBNET 21
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
End Class
CREACIN DE PROPIEDADES
2VBNET 22
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Las variables simples sirven para almacenar las informaciones de su clase, pero los
procedimientos de propiedades proporcionan flexibilidad y control sobre el
almacenamiento de informaciones en una clase. Permiten que la clase proteja y
valide sus propios datos.
Y dentro se definen 2 bloques de cdigo entre las palabras clave Get-End Get y
Set-End Set.
2VBNET 23
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
obreloj.establecerhora(60, 4, 12)
TextBox1.Text = "La hora establecida es " & obreloj.horas & ":" &
obreloj.minutos & ":" & obreloj.segundos
End Sub
End Class
Vemos que el bloque GET desaparece para una propiedad WriteOnly. Y el boque
SET desaparece para ReadOnly.
EJERCICIO1 RESUELTO
2VBNET 24
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
- encendido?
- pantalla activa?
End Class
A continuacin hay que pensar las acciones que se pueden realizar sobre un objeto
de la clase COrdenador, por ejemplo:
- encender el ordenador
- apagar el ordenador
- desactivar la presentacin en pantalla
- activar la presentacin en pantalla
- ver la informacin
Para definir estas acciones debemos realizar los mtodos correspondientes. Vamos
a empezar con la primera accin: encender el ordenador
Vamos a crear un nuevo mtodo ver el estado del ordenador y sus propiedades.
2VBNET 25
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Module MOrdenador
Public Sub Main()
Dim miordenador As COrdenador = New COrdenador()
End Sub
End Module
A continuacin queremos dar valores a los atributos del ordenador y utilizar los
mtodos para obtener la informacin que queramos.
miordenador.m_marca=Toshiba
2VBNET 26
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
2VBNET 27
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
EJERCICIO 2 RESUELTO
Vamos a realizar una clase que representa nmeros racionales. Esta clase puede
ser til porque muchos nmeros no pueden ser representados exactamente
utilizando un nmero fraccionario. Por ejemplo, el nmero racional 1/3
representado como fraccionario sera 0,33333, valor mas facil de manipular pero a
costa de perder precisin.
Pensando un nmero racional como si fuera un objeto, deducimos que sus atributos
son : el numerador y el denominador. Y los mtodos aplicables sobre los nmeros
racionales son numerosos: suma, resta, multiplicacin,
Nosotros vamos aadir otros dos mtodos: AsignarDatos, para establecer los
valores del numerador y el denominador; y otro, VisualizarRacional, para visualizar
un nmero racional.
Class CRacional
Private Numerador As Integer
Private Denominador As Integer
2VBNET 28
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Module Racionales
Public Sub Main()
' Punto de entrada a la aplicacin
Dim r1 As CRacional = New CRacional() ' crear un objeto CRacional
r1.AsignarDatos(2, 5)
r1.VisualizarRacional()
End Sub
End Module
EJERCICIO A REALIZAR
1. Crea un formulario con una clase que te represente, con propiedades que
describan el color de tu pelo, de tus ojos y tu fecha de nacimiento.
Crea dos mtodos uno para obtener el da de la semana en que naciste y otro
para indicar la nacionalidad en funcin del color del pelo y de los ojos.
Utiliza la propiedad dayofweek del tipo de dato datetime para determinar el
da de la semana en que naciste. La propiedad devuelve un entero, convirtelo
al da de la semana.
2VBNET 29
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
HERENCIA
Clase CCuenta
Las clases que estn en la parte inferior en la jerarqua se dice que heredan de la
clase superior.
El trmino heredar significa que las subclases disponen de todos los mtodos y
propiedades de su superclase. Este mecanismo proporciona una forma rpida y
cmoda de extender la funcionalidad de una clase. En Visual Basic cada clase slo
puede tener una superclase(o clase base), lo que se denomina herencia simple.
Class CCuentaAhorro
Inherits CCuenta
End Class
cuenta01.asignarNombre("Un nombre")
cuenta01.nombre = "HOLA"
cuenta01.asignarCuenta("Una cuenta")
cuenta01.ingreso(1000000)
cuenta01.reintegro(500000)
2VBNET 30
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
System.Console.WriteLine(cuenta01.obtenerNombre())
System.Console.WriteLine(cuenta01.obtenerCuenta())
System.Console.WriteLine(cuenta01.estado())
' Atributo
Private cuotaMantenimiento As Double
' Mtodos
Public Sub New() ' constructor sin parmetros
End Sub
2VBNET 31
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Definimos al final del cdigo (recuerda que la primera clase debe se la del
formulario) la defincin de la nueva clase.
2VBNET 32
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Redefinir un mtodo
Una subclase puede redefinir cualquier mtodo heredado de su clase padre,
siempre que sea necesario que su comportamiento en la subclase sea diferente.
En este caso cuando se haga referencia desde la subclase al mtodo redefinido ser
por defecto el definido en la subclase.
Se puede utilizar de forma opcional palabra Overrides a la hora de hacer la
sustitucin en la subclase. Y en la clase base utilizar la palabra Overridable dando
autorizacin a la sustitucin.
Una vez escrita la clase CCuentaAhorro, vamos a ver como ser la estructura de un
objeto de esta clase comparada con la clase CCuenta.
Atributos Mtodos
Atributos Mtodos
2VBNET 33
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Saldo obtenerNombre
TipoDeInteres asignarCuenta
obtenerCuenta
Estado
Ingreso
Reintegro
asignarTipoDeInteres
obtenerTipoDeInteres
cuotaMantenimiento Constructores CCuentaAhorro
asignarCuotaManten
obtenerCuotaManten
Reintegro
Vemos que los constructores de la clase CCuenta no se heredan , puesto que cada
clase define el suyo por omisin, y que el mtodo reintegro queda oculto por el
mtodo del mismo nombre de la clase CCuentaAhorro. Se puede acceder al
miembro oculto con la siguiente sintaxis: MyBase.miembro_oculto.
Segn los cuadros anteriores, mientras un posible objeto CCuenta contendra los
datos, nombre, cuenta , saldo y tipoDeInteres, un objeto CCuentaAhorro contiene
datos, nombre, cuenta , saldo ,tipoDeInteres y cuotaMantenimiento.
Cmo se crea un objeto de subclase CCuentaAhorro?. Si observamos el
constructor CCuentaAhorro con parmetros vemos que tiene cinco: los cuatro
pimeros proveen valores para los atributos heredados de CCuenta, y el quinto para
el nuevo atributo .
Para iniciar los atributos heredados de la clase base lo ms sencillo es invocar al
constructor de la misma; esto se hace mediante la llamada MyBase.New seguida
de los argumentos correspondientes; esta llamada tiene que ser la primera
sentencia en el constructor de la subclase, como vemos en el ejemplo:
asignarNombre(nom)
asignarCuenta(cue)
ingreso(sal)
asignarTipoDeInters(tipo)
asignarCuotaManten(mant)
End Sub
2VBNET 34
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
En modo de resumen, los siguientes puntos exponen las reglas a tener en cuenta
cuando se define una subclase:
3. Los miembros heredados por una subclase pueden, a su vez, ser heredados
por ms subclases de ella. A esto se llama propagacin de herencia.
Class relojanalogico
Inherits reloj
' declaramos un nueva variable
Private cuerdaalreloj As Boolean = False
' declaramos un nuevo mtodo
darcuerdaalreloj = True
End Function
End Class
2VBNET 35
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Como lo que pretendemos crear es una nueva clase que se deriva de otra,
podramos pensar en crear un proyecto del tipo Biblioteca de clases (Class Library),
de hecho podemos empezar usando ese tipo de proyecto, pero como queremos
crear una clase derivada de uno de los controles que residen en el espacio de
nombres System.Windows.Forms tambin podemos optar por crear un nuevo
proyecto del tipo Biblioteca de controles de Windows (Windows Control Library).
Y seleccionamos el archivo
2VBNET 36
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Como lo que queremos es crear una caja de textos que solo admita nmeros, lo
que tendremos que hacer es detectar las teclas pulsadas y filtrarlas para que solo
pasen los dgitos numricos y los caracteres que creamos conveniente, por ejemplo
los signos de puntuacin y los smbolos ms y menos. Aunque tambin tendremos
que permitir al usuario que pueda borrar los caracteres introducidos.
La idea de usar miembros protegidos es que solamente puedan ser accedidos desde
la propia clase en la que se declara y en todas las que estn derivadas de ella, ya
sea directa o indirectamente. De esta forma podremos modificar la funcionalidad de
la clase base de una forma "controlada".
Nota: Toda clase que produce eventos , por cada evento que la clase defina, existe
un mtodo asociado . Por convenciones de nomenclatura, se recomienda que dichos
mtodos empiecen con la palabra On seguida del nombre del evento.
2VBNET 37
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Finalmente, llamamos al mismo mtodo de la clase base para que siga haciendo
sus comprobaciones. Esto siempre es recomendable hacerlo, para no romper el
flujo de mensajes.
Por qu OnKeyPress?
Como es de suponer, la eleccin del mtodo OnKeyPress no es fortuita, lo voy a
usar porque yo se que es ese el mtodo que debo reemplazar.
Cmo saber qu mtodo escoger?
Normalmente en las clases que producen eventos, por cada evento que la clase
defina, existe un mtodo asociado que es el que se utiliza para lanzar el evento, es
decir, en lugar de llamar directamente al evento mediante la instruccin
RaiseEvent, lo que hacemos es llamar a un mtodo que es el que se encarga de
lanzar dicho evento; de esta forma siempre usaremos el mismo mtodo para lanzar
el mismo evento. Por convenciones de nomenclatura, se recomienda que dichos
mtodos empiecen con la palabra On seguida del nombre del evento.
Dicho esto y sabiendo que en una aplicacin normal utilizaramos el evento
KeyPress del control TextBox para detectar las pulsaciones de teclas, lo nico que
tenemos que hacer es buscar un mtodo que tenga el mismo nombre que el evento
pero, como hemos comentado, que tenga el prefijo On.
2VBNET 38
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Sobrecarga de un mtodo
Vemos que nos indica que hay dos mtodos con el mismo nombre el primero con
los tres parmetros y el segundo (si lo seleccionamos) con dos parmetros.
2VBNET 39
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
End Sub
2VBNET 40
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
EJERCICIOS
2. Disear una clase CCoche que represente coches. Sus atributos sern
marca, modelo, coche y marcha; y los mtodos deberan simular, enviando
mensajes, las acciones arrancar el motor, cambiar de velocidad, acelerar, frenar
, parar coche y describir el coche. De forma que cuando se ejecute la aplicacin
salga de la siguiente forma:
Crea una clase nueva CCochePolicia que tenga las mismas caractersticas que la
clase CCoche pero con las variables y mtodos necesarios para poder activar y
desactivar la sirena.
2VBNET 41
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
Realiza los cambios oportunos para que se pueda realizar lo anterior indicado como
se ve a continuacin:
2VBNET 42
Visual .NET
Microsoft Visual Studio 2005 Unidades Didctica 21
2VBNET 43