#601 – A Class Can Both Inherit from A Parent Class and Implement an Interface

Every user-defined class inherits from exactly one other class.  You can either explicitly specify the class to inherit from, or the class can implicitly inherit from System.Object.

A user-defined class may optionally implement one or more interfaces.

A class may therefore both inherit from a parent class and also implement one or more interfaces.  All of the declarations listed below are valid class declarations.  (Class members are not shown).

// Implicitly inherits from System.Object
public class Movie
{
}

// Explicitly inherit from a class
public class Terrier : Dog
{
}

// Implement one or more interfaces
public class Dog : IBark, IFetch
{
}

// Inherit and implement an interface
public class BorderCollie : Dog, IHerd, IObsess
{
}