Home
Username:
Password:
Microsoft Visual Basic .NET (Español) Tutorials

Shadowing / Aplicar el Shadowing a un método




Visitors to VTC.com will be able to view all introductory videos for each training course.
Free Trial Members will gain access to first three chapters for each training course.
Full Access Members have full access to VTC.com’s entire library of video tutorials.


Learn More

Subtitles of the Movie

ÿþ [00:00:00.0] Luego de haber tratado la función overloading, hablaremos del "shadowing". En la función overriding, el shadowing y el overloading son muy similares. [00:00:08.0] Sólo quisiera recordarle que mientras que la función overloading trabaja con la firma de un subprocedimiento, shadowing recurre al nombre... [00:00:15.0] ...de éste. Pero veamos esto en Visual Studio, donde trabajaremos con una clase pública llamada "Public Class Test". [00:00:22.0] Dentro de ella crearé la subclase Mark escribiendo "Public Sub Mark()", que tendrá una línea de consola... [00:00:30.0] ..."Hello from test", de manera que veamos de dónde viene. Ahora crearé una clase llamada Test2 escribiendo... [00:00:39.0] ..."Public Class Test2", la cual será heredera de Test. Observe que si creo un objeto más definido a... [00:00:50.0] ...partir de Test2, aparece Mark, que, obviamente, es el Mark que creamos. [00:00:59.0] Ahora regresaré aquí y crearé otra subclase escribiendo "Public Overloads Mark", que llevará el argumento... [00:01:08.0] ..."(ByVal x As Int32)". Finalmente, escribiré la línea de consola: "Console.WriteLine (x)". [00:01:24.0] Aquí debo agregar "Sub". Observe que ahora estoy sobrecargando Mark a través de las clases, así que cuando... [00:01:32.0] ...ejecute esto y trate de ejecutar los métodos de mi clase, aún seguirá apareciendo Mark. [00:01:41.0] Así pues, si ejecuto Mark se desplegará el texto contenido en Test. Si vamos a la línea de comandos... [00:01:49.0] ...veremos que aparece en pantalla "Hello from test". Si agrego un entero (42, por ejemplo), y ejecuto... [00:02:03.0] ...la aplicación, aparecerá 42; ello significa que se ejecutó este método al que se aplicó la función overloading. [00:02:18.0] Esto nos plantea el siguiente problema: ¿qué ocurriría si deseo usar a Public Sub Mark en esta clase de aquí? [00:02:27.0] Vemos, pues, que aparece un subrayado, el cual me indica que no puedo hacer esto a menos... [00:02:32.0] ...que aplique el shadowing a Mark; por tanto, escribiré "Public Shadows Sub Mark()"... [00:02:40.0] ...y debajo "Console.WriteLine ("Hello from Test2")". Observe que ahora aparece un subrayado... [00:02:52.0] ...aquí, que me indica que la aplicación está intentando que ésta reemplace a esta otra. [00:03:00.0] Lo que pasa es que en ésta se declara "Shadows", pero aquí aparece "Overloads", por... [00:03:06.0] ...lo que la aplicación trató de aplicarle la función overload; así pues, me indica que debo declararla como "Shadows". [00:03:12.0] Por tanto, reemplazaré "Overloads" por "Shadows", así que declararé la función shadowing sobre ambas. [00:03:19.0] El shadowing, pues, es una forma de overloading, y he aquí la diferencia. Si ejecuto a Mark 42... [00:03:26.0] ...obviamente obtendré este entero, pero si ejecuto a Mark sin ningún argumento, observe... [00:03:35.0] ...que lo tomará de Test2; esto se comprueba en la línea de comandos, donde ejecutamos ClassTest y aparece "Hello from test2". [00:03:45.0] Recapitulemos para ver lo que ha ocurrido: en mi clase base tengo la subclase Mark, la cual... [00:03:51.0] ...despliega el texto "Hello from test"; en la clase Test2  heredera de Test retomo a Mark, pero debajo he establecido... [00:03:59.0] ...un shadowing sobre Mark; aquí he hecho lo mismo, pues Mark había sido declarada overloaded. [00:04:05.0] En suma, el shadowing sobrescribe todas las funciones de una subclase tomada de una clase base... [00:04:13.0] ...que en nuestro ejemplo ha sido Public Class Test, mientras que Public Class Test2 es la clase derivada; [00:04:21.0] es decir, el shadowing nos permite aplicar el overloading y la sobrescritura a partir de la clase base. Si esto parece un poco... [00:04:27.0] ...complicado, le sugiero ver este video un par de veces hasta que todo se aclare. [00:04:37.0]

Tutorial Information

Course: Microsoft Visual Basic .NET (Español)
Author: Mark Long
SKU: 33538
ISBN: 1-932808-12-4
Release Date: 2004-09-17
Duration: 6 hrs / 88 lessons
Captions: Available on CD and Online University
Compatibility: Vista/XP/2000, OS X, Linux
QuickTime 7, Flash 8

VTC Sign up & Benefits

  • Unlimited Access
  • 98,729 Video Tutorials (23,265 free)
  • Video Available as Flash or QuickTime
  • Over 1026 Courses
  • $30 for One Month Access
  • Multi-User Discounts Available