Interfaccia waħda tiddefinixxi kuntratt — sett ta' membri (metodi, proprjetajiet) li l-klassijiet li jimplimentawhom għandhom jipprovdu, mingħajr implementazzjoni (tradizzjonalment). Klassi waħda tista' timplimenta multipli interfaccji, li jagħmluhom essenzjali għad-disinn flessibli, dekkupljat, u ttestabbli f'C#.## Tiddefinizzjoni u timplimentazzjoni ta' interfaccia```csharp public interface IShape { double Area(); // a method signature (no body) string Name { get; } // a property }
public class Circle : IShape // implement the interface { public double Radius { get; set; } public double Area() => Math.PI * Radius * Radius; // must implement public string Name => "Circle"; } csharp public class Widget : IDrawable, ISerializable, IComparable<Widget> { // must implement ALL members of ALL interfaces } csharp // program to the INTERFACE — works with ANY implementation List<IShape> shapes = new() { new Circle(), new Square() }; foreach (IShape s in shapes) Console.WriteLine(s.Area()); // calls each type's implementation
