Behaviour and type are two things, otherwise we'd call them both behaviour or both type [edit] however, types exhibit behaviours. I think there has been some language based confusion here to clarify:
class A
{
public virtual void Write()
{
Console.Writeline ("Base Write Method");
}
}
class B : A
{
public override void Write()
{
Console.Writeline ("Class B's Write Method");
}
}
class C : A
{
}
class Foo
{
new A().Write(); // Outputs "Base Write Method"
new B().Write(); // Outputs "Class B's Write Method" as base method is overridden
new C().Write(); // Outputs "Base Write Method" as the base method isn't overridden
}
As per my original post, you can override the default behaviour, but it isn't necessary.
Dalek Dave: There are many words that some find offensive, Homosexuality, Alcoholism, Religion, Visual Basic, Manchester United, Butter. Pete o'Hanlon: If it wasn't insulting tools, I'd say you were dumber than a bag of spanners.