Wrox Home  
Search P2P Archive for: Go

  Return to Index  

aspx_espanol thread: Re: Usar Clase


Message #1 by "Diego Palmeira" <dpalmeira@s...> on Mon, 18 Nov 2002 20:46:38
Matias,

Vos me habias comentado esto:

"La diferencia es que un componente se utiliza generalmente para 
empaquetar alguna funcionalidad con interfaz de usuario o no y luego 
poder usarlo desde el designer de VS.NET o Web Matrix o cualquier editor 
que lo soporte.
Nota que cuando creas un componente, VS.NET genera el codigo base en 
donde se ve que la clase deriva de Component. A su vez Component deriva 
de MarchalByRefObject e implementa IComponent. Esto hace que no tengas 
que escribir mucho codigo a la hora de escribir un componente, pero trae 
desventajas a la hora de armar tu logica de negocios.
- No podrias derivar tu clase de negocios de una clase base ya que ni c# 
ni VB.NET soportan multiple herencia. Es decir si queres implementar una 
clase base que implementa una serie de metodos y crear clases que deriven 
de esta no podrias, porque al crear un Componente estas heredando de 
Component y no se puede heredar de nadie mas.
- Usando un Component es necesario implementar una serie de cosas por lo 
tanto produce un overhead. Sin embargo creando una clase que derive de 
System.Object, logras un objeto muy liviano."

En principio todo esto lo lei y es asi, pero he descubierto algo que no se 
si es como lo decis, o me estoy equivocando yo...

es aca

"- No podrias derivar tu clase de negocios de una clase base ya que ni c# 
ni VB.NET soportan multiple herencia. Es decir si queres implementar una 
clase base que implementa una serie de metodos y crear clases que deriven 
de esta no podrias, porque al crear un Componente estas heredando de 
Component y no se puede heredar de nadie mas."

Segun lei, en el libro de Professional VB.Net, es que no hay que 
confundir "Multiple Herencia" con "Multiple Niveles de Herencia", es decir 
que la primera es los niveles de herencia a partir de una clase base, que 
segun el libro se puede crear relaciones de muchos niveles de profundidad, 
no importando si es una clase o un componeente.

Lo que no soporta el Framework (ya no VB.Net ni C# sino ningún 
lenguaje .Net), es "Multiple Herencia", esto es que una Sub clase herede 
de 2 (o más) clases base al mismo tiempo.

RESUMEN:
Los "Multiples Niveles de Herencia", no están limitados por si es una 
Clase o un Componente.

  Return to Index