Inheritance and Polymorphism
Base Method Calls
An override can call the base method and then add more behavior.
Base Method Calls
BaseMethodCalls.cs
using System;
class Ticket
{
public virtual string Format()
{
return "ticket";
}
}
class PriorityTicket : Ticket
{
private readonly string level;
public PriorityTicket(string level)
{
this.level = level;
}
public override string Format()
{
return base.Format() + ":" + level;
}
}
class Program
{
static void Main()
{
string level = ;
PriorityTicket ticket = new PriorityTicket(level);
string formatted = ticket.Format();
Console.WriteLine($"level={level}");
Console.WriteLine($"formatted={formatted}");
}
}
using System;
class Ticket
{
public virtual string Format()
{
return "ticket";
}
}
class PriorityTicket : Ticket
{
private readonly string level;
public PriorityTicket(string level)
{
this.level = level;
}
public override string Format()
{
return base.Format() + ":" + level;
}
}
class Program
{
static void Main()
{
string level = ;
PriorityTicket ticket = new PriorityTicket(level);
string formatted = ticket.Format();
Console.WriteLine($"level={level}");
Console.WriteLine($"formatted={formatted}");
}
}
using System;
class Ticket
{
public virtual string Format()
{
return "ticket";
}
}
class PriorityTicket : Ticket
{
private readonly string level;
public PriorityTicket(string level)
{
this.level = level;
}
public override string Format()
{
return base.Format() + ":" + level;
}
}
class Program
{
static void Main()
{
string level = ;
PriorityTicket ticket = new PriorityTicket(level);
string formatted = ticket.Format();
Console.WriteLine($"level={level}");
Console.WriteLine($"formatted={formatted}");
}
}
base call
The `base` keyword calls a member from the base class.