Abstract class — can have implementation. Interface — only contract.
1// Abstract class2public abstract class Animal {3 public string Name { get; set; }45 // Can have implementation6 public void Eat() {7 Console.WriteLine("Eating...");8 }910 // Must be implemented11 public abstract void MakeSound();12}1314// Interface15public interface IAnimal {16 string Name { get; set; }17 void MakeSound();18}