Interfaces and Abstractions
Implementing Interfaces
A class implements an interface by defining every required member.
Implementing Interfaces
ImplementingInterfaces.cs
using System;
interface IDiscount
{
int Apply(int cents);
}
class FlatDiscount : IDiscount
{
private readonly int discount;
public FlatDiscount(int discount)
{
this.discount = discount;
}
public int Apply(int cents)
{
return cents - discount;
}
}
class Program
{
static void Main()
{
int discount = ;
FlatDiscount rule = new FlatDiscount(discount);
int finalPrice = rule.Apply(100);
Console.WriteLine($"discount={discount}");
Console.WriteLine($"final={finalPrice}");
}
}
using System;
interface IDiscount
{
int Apply(int cents);
}
class FlatDiscount : IDiscount
{
private readonly int discount;
public FlatDiscount(int discount)
{
this.discount = discount;
}
public int Apply(int cents)
{
return cents - discount;
}
}
class Program
{
static void Main()
{
int discount = ;
FlatDiscount rule = new FlatDiscount(discount);
int finalPrice = rule.Apply(100);
Console.WriteLine($"discount={discount}");
Console.WriteLine($"final={finalPrice}");
}
}
using System;
interface IDiscount
{
int Apply(int cents);
}
class FlatDiscount : IDiscount
{
private readonly int discount;
public FlatDiscount(int discount)
{
this.discount = discount;
}
public int Apply(int cents)
{
return cents - discount;
}
}
class Program
{
static void Main()
{
int discount = ;
FlatDiscount rule = new FlatDiscount(discount);
int finalPrice = rule.Apply(100);
Console.WriteLine($"discount={discount}");
Console.WriteLine($"final={finalPrice}");
}
}
implementation
An implementation is the class code that satisfies an interface contract.