Что такое наследование в C#?