why we use sealed class in c#