Thursday, May 5, 2011

Static and Dynamic binding

Static Binding :
Example 1 :
public class MyClass
{
   public void DoSomething(){...}
}

public class MyOtherClass
{
   public MyOtherClass()
   {
      MyClass mc = new MyClass();
      mc.DoSomething();
   }
}

Dynamic Binding :
Example 2 :

public abstract class WidgetBase
{
   public abstract void DoSomething();
}

public class ShinyWidget : WidgetBase
{
   public override void DoSomething()
   {
      // implementation
   }
}

public class DullWidget : WidgetBase
{
   public override void DoSomething()
   {
      // implementation
   }
}

public class MyOtherClass
{
   public void DoSomethingWithAWidget(WidgetBase widget)
   {
      widget.DoSomething();
   }
}

No comments:

Post a Comment