Está en la página 1de 5

1.

Cual es la palabra reservada que indica una herencia entre la Clase A


y la clase B?

Inherits
2. Que es una Clase Base?

En una relacion de herencia la clase base es aquella que es mas sencilla, de la


que la clase derivada hereda las propiedades y metodos.
3. Que es una Clase derivada?

Es la clase que hereda todos los metodos, campos y propiedades de la clase base.
4. Como se puede extender una clase derivada?

Se agragan nuevos campos, metodos o propiedades dentro del bloque de la clase.


5. Se hereda de una clase base los mtodos privados?

No, unicamente hereda los metodos Public y Friend.


6. Desarrolle un pequeo ejemplo que permita utilizando clases, definir
si dos personas son hermanos

Class Persona
Public Padre as Persona
Public Madre as Persona
Shared Function SonHermanos (ByVal p1 as Persona, ByVal p2 as Persona) _
As Bolean
Return (p1.Padre is p2.Padre) or (p1.Madre is p2.Madre)
End Function
End Class
Sub Hermanos ( )
Dim H1 as new Persona ( )
H1.nombre = Juan
H1.apellido = Diaz
Dim H2 as new Persona ( )
H1.nombre = Mario
H1.apellido = Diaz
Dim H3 as new Persona ( )
H1.nombre = Ana
H1.apellido = Diaz
H2.padre = H1
H3.padre = H1
7. Describa que es sobrescritura de una clase Base. Dar un ejemplo

La sobreescritura implica que la clase derivada puede modificar el comportamiento


de una o mas propiedades o metodos de la clase base.
En la clase base:
Overridable Funtion NombreCompleto () as String

Return Nombre & & Apellido


End Function
En la clase derivada:
Overridable Funtion NombreCompleto () as String
Return Apellido & , & Nombre
End Function
8. Se debe utilizar las palabras clases overridable y overrides cuando
se sobrescribe los mtodos de las clases derivadas?

Se debe utilizar la palabra clave overridable en la clase base y la palabra clave


overrides en la clase derivada.
9. El compilador funciona mejor si utiliza mtodos virtuales? Justifique

Metodo Virtual, su codigo no se compilara si omite la palabra clave Overridable en


la clase base y la palabra clave Overrides en la clase derivada. Este comportamiento
puede llegar a ser muy molesto cuando este creando clases de gran tamao que
vayan a funcionar como clases base porque debera acordarse de utilizar la palabra
clave Overridable para cada uno de sus miembros.
10.Para que se utiliza la palabra clave MyBase? Dar ejemplos

La palabra clave MyBase resulta de utilidad cuando se desee hacer referencia a un


campo, propiedad o metodo del objeto base.
En la clase base:
Overridable Funtion NombreCompleto () as String
Return Nombre & & Apellido
End Function
En la clase derivada:
Overridable Funtion NombreCompleto () as String
Public Titulo as String
If titulo <> Then NombreCompleto = Titulo &
NombreCompleto &= MyBase.Nombre completo
End Function
11.Que es un constructor?

Es el mtodo que tiene la clase que permite generar instancias de la misma.


12.Dar ejemplo de sobrecarga de constructores

Cuando defino las propiedades cuando instancia una clase


13.Los constructores de las clases base son heredados por las clases
derivadas (Verdadero-Falso)

Falso
14.Que es un finalizador?

Es el mtodo que hace que el objeto libere los recursos no administrados.

15.Cual es la diferencia entre mybase y myclass? Dar ejemplos

Cuando un cliente llama a un metodo no remmplazable de la clase heredada, el


codigo se ejecuta en la clase base, pero en el contexto de la clase heredada.
16.Que es el sombreado de mtodos?

Cuando un miembro de una clase derivada tiene el mismo nombre que otro
perteneciente a la clase base, obtendremos una advertencia de compilacin pero
podremos compilar igual. En este caso se dice que el metodo de la clase derivada
esta sombreando el metodo de la clase base.
17.Que es una clase abstracta? Justifique con cdigo

Es aquella clase que no se puede instanciar, que sirve para derivar nuevas clases. La
palabra clave es MustInherit.
18.Para que se puede utilizar notinheritable?

Para garantizar que nadie pueda ampliar una clase que ya se haya creado.
19.Cuales son los diferentes mbitos de las clases, mtodos y
variables?

Public, Friend, Private, Protected, Protected Friend.


20.Se pueden anidar clases?

Si, es posible anidar clases.


21.Que es un namespace? Dar ejemplos

Es una ubicacin logica que se le da a las clases


22.Como atrapar errores en .NET?

Los errores se atrapan con Try Catch.


23.Que es una exception? Dar 5 ejemplos

Representa los errores que se producen durante la ejecucin de una


aplicacin.
24.Cual es la diferencia entre un vector, una coleccin y una hastable?

Conjunto de objetos, Coleccin conjunto de objetos definidos, tipados.


25.Que es una interfaz?

Una interfaz es el conjunto de metodos y propiedades que expone una clase.


26.Se puede heredar otra interfaz?

Si, se puede heredad una interfaz.


27.Las interfaces que pueden heredar?

Las interfaces pueden estar compuestas de mtodos, propiedades, eventos,


indizadores o cualquier combinacin de estos cuatro tipos de miembros.
28.Como acceder a la interfaz?

Accedo a la interfaz asignando el objeto a una variable cuyo tipo ha sido declarado
justo despus de la interfaz. A traves de la clase que la implemente

29.Que es un delegado?

Es similar a un puntero a una funcion de C en el sentido de que permite llamar a un


procedimiento utilizando un puntero que apunte al propio procedimiento.

( 27 ) Que ventajas otorga el uso de interfaces?


Permite por un lado definir "comportamiento mnimo", lo cual hace que determinada seccin o
mdulo sea reemplazable de manera transparente. El caso conocido es el de los drivers de
conexin a base de datos. En java, al menos, la "librera" de conexin con la base de datos
esta compuesta slamente por interfaces... y cada proveedor de base de datos (DB2, Oracle,
Sybase, SQLServer, MySQL, etc) programa su propio driver que implementa las interfaces de
la librera de conexin.
Es una alternativa para solucionar los casos de herencia mltiple. Se pueden implementar
muchas interfaces, pero slo se puede heredar de una clase. Una clase Avin slo puede
heredar de la clase Transporte. Una clase Avin puede implementar las interfaces Transporte,
Volador, etc
Permite organizar grandes desarrollos que se encaran por grupos separados (En una reunin
se definen las interfaces, y luego cada team se pone a desarrollar contra las interfaces de los
otros cuando todos terminan el desarrollo se junta y todo debera funcionar).
( 31 ) Dar ejemplos de interfaces
Este es el mismo ejemplo que estaba charlando el otro da antes del pre parcial

Ejemplo del uso de interfaces (tener en cuenta que estoy programando directo en
gMail... asi que puede haber errores de sintaxis)
Interface IVolador
public Sub volar()
public Function calcularAlturaDeVuelo() as Integer
End Interface
Class Avion
implements IVolador
public Sub volar()
'Hacer algo como darle gas a los motores
End Sub
public Function calcularAlturaDeVuelo() as Integer
dim altura as Integer = 1000
'hago algo propio de los aviones para calcular la altura de vuelo... que se yo... leo
el altmetro...
return altura
End Function
End Class

Class Pajaro
implements IVolador
public Sub volar()
'Hacer algo como aletear...
End Sub
public Function calcularAlturaDeVuelo() as Integer
dim altura as Integer = 25
'hago algo propio de los pajaros para calcular la altura de vuelo... que se yo...
mirar el sol y las estrellas
return altura
End Function
End Class
Y en el uso se puede hacer lo siguiente:
dim objetoVolador as IVolador
objetoVolador = new Avion()
objetoVolador.volar()
objetoVolador = new Pajaro()
objetoVolador.volar()
Tengo una variable del tipo IVolador (que es la interface) y guardo en ella una instancia
de una clase que implementa esa interfaz...
de esta manera a esa variable puedo invocarle cualquier metodo que este definido en la
interface sin que me importe a que clase en particular pertenece la instancia.
El ejemplo podra ser parte de un juego donde uno puede elejir jugar con un pjaro o
con un avin... y en cualquiera de los dos casos, sin importar con quien este jugando,
cuando presiono un botn quiero que el objeto vuele...
Desde el punto de vista del botn, a los efectos de hacer volar el objeto, lo nico que le
importa es que se le pueda invocar un mtodo que lo haga volar... y la responsabilidad
de volar depende de la implementacin de cada clase (Avin o Pjaro)