Challenge - 5 Problems
Sealed Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
Output of sealed class inheritance attempt
What will be the output or result of this C# code?
C Sharp (C#)
sealed class Animal { public void Speak() { System.Console.WriteLine("Animal speaks"); } } class Dog : Animal { } class Program { static void Main() { Dog d = new Dog(); d.Speak(); } }
Attempts:
2 left
💡 Hint
Remember what sealed means for classes in C#.
✗ Incorrect
A sealed class cannot be inherited. Trying to derive Dog from sealed Animal causes a compile-time error.
❓ Predict Output
intermediate2:00remaining
Output of sealed method override attempt
What will be the output or result of this C# code?
C Sharp (C#)
class Vehicle { public virtual void Start() { System.Console.WriteLine("Vehicle started"); } } class Car : Vehicle { public sealed override void Start() { System.Console.WriteLine("Car started"); } } class SportsCar : Car { public override void Start() { System.Console.WriteLine("SportsCar started"); } } class Program { static void Main() { SportsCar sc = new SportsCar(); sc.Start(); } }
Attempts:
2 left
💡 Hint
Check what sealed means when applied to methods.
✗ Incorrect
A sealed override method cannot be further overridden. SportsCar's attempt to override Start causes a compile-time error.
🧠 Conceptual
advanced1:30remaining
Purpose of sealed keyword in C#
Which of the following best describes the purpose of the sealed keyword in C#?
Attempts:
2 left
💡 Hint
Think about what sealed restricts in inheritance.
✗ Incorrect
Sealed prevents further inheritance of classes or overriding of methods, ensuring fixed behavior.
❓ Predict Output
advanced2:00remaining
Output of sealed method call via base reference
What will be the output of this C# program?
C Sharp (C#)
class Base { public virtual void Show() { System.Console.WriteLine("Base Show"); } } class Derived : Base { public sealed override void Show() { System.Console.WriteLine("Derived Show"); } } class MoreDerived : Derived { // No override here } class Program { static void Main() { Base obj = new MoreDerived(); obj.Show(); } }
Attempts:
2 left
💡 Hint
Consider which method is called when sealed override exists and no further override.
✗ Incorrect
The sealed override in Derived stops further overrides. MoreDerived uses Derived's Show method. The call prints 'Derived Show'.
🔧 Debug
expert2:30remaining
Identify the error in sealed method usage
What error will this C# code produce?
C Sharp (C#)
class Parent { public virtual void Display() { System.Console.WriteLine("Parent Display"); } } class Child : Parent { public sealed override void Display() { System.Console.WriteLine("Child Display"); } } class GrandChild : Child { public override void Display() { System.Console.WriteLine("GrandChild Display"); } } class Program { static void Main() { GrandChild gc = new GrandChild(); gc.Display(); } }
Attempts:
2 left
💡 Hint
Check the rules about overriding sealed methods.
✗ Incorrect
The method Display in Child is sealed, so GrandChild cannot override it. This causes a compile-time error.