Bird
Raised Fist0
C Sharp (C#)programming~20 mins

Implementing interfaces in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Interface Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of interface method call
What is the output of this C# program when calling the interface method?
C Sharp (C#)
using System;
interface IGreet {
    void SayHello();
}
class Person : IGreet {
    public void SayHello() {
        Console.WriteLine("Hello from Person");
    }
}
class Program {
    static void Main() {
        IGreet greeter = new Person();
        greeter.SayHello();
    }
}
AHello from Person
BCompile-time error: Cannot convert Person to IGreet
CRuntime error: NullReferenceException
DNo output
Attempts:
2 left
💡 Hint
Look at how the interface method is implemented and called.
Predict Output
intermediate
2:00remaining
Output when interface method is explicitly implemented
What will be the output of this program?
C Sharp (C#)
using System;
interface IDisplay {
    void Show();
}
class Demo : IDisplay {
    void IDisplay.Show() {
        Console.WriteLine("Explicit Show");
    }
    public void Show() {
        Console.WriteLine("Public Show");
    }
}
class Program {
    static void Main() {
        Demo d = new Demo();
        d.Show();
        ((IDisplay)d).Show();
    }
}
A
Explicit Show
Explicit Show
B
Explicit Show
Public Show
C
Public Show
Public Show
D
Public Show
Explicit Show
Attempts:
2 left
💡 Hint
Explicit interface implementation hides the method from the class interface.
🔧 Debug
advanced
2:00remaining
Identify the error in interface implementation
Why does this code fail to compile?
C Sharp (C#)
interface ICalc {
    int Add(int a, int b);
}
class Calculator : ICalc {
    public int Add(int x, int y) {
        return x + y;
    }
}
ANo error, code compiles fine
BInterface cannot have methods with parameters
CMethod signature does not match interface method
DClass must be abstract to implement interface
Attempts:
2 left
💡 Hint
Check parameter names and types in interface and class method.
Predict Output
advanced
2:00remaining
Output of multiple interface implementations
What is the output of this program?
C Sharp (C#)
using System;
interface IFirst {
    void Print();
}
interface ISecond {
    void Print();
}
class Multi : IFirst, ISecond {
    void IFirst.Print() {
        Console.WriteLine("First");
    }
    void ISecond.Print() {
        Console.WriteLine("Second");
    }
}
class Program {
    static void Main() {
        Multi m = new Multi();
        ((IFirst)m).Print();
        ((ISecond)m).Print();
    }
}
A
First
First
B
Second
First
C
First
Second
D
Second
Second
Attempts:
2 left
💡 Hint
Explicit interface implementations are called via interface references.
🧠 Conceptual
expert
2:00remaining
Interface implementation and method accessibility
Which statement about explicit interface implementation in C# is TRUE?
AExplicit interface methods are accessible like any public method of the class.
BExplicitly implemented interface methods can only be called through an interface reference.
CExplicit interface implementation allows method overloading with the same signature.
DExplicit interface methods must be declared public in the class.
Attempts:
2 left
💡 Hint
Think about how explicit interface methods are accessed.

Practice

(1/5)
1. What does it mean to implement an interface in C#?
easy
A. A class provides code for all methods declared in the interface.
B. An interface inherits from a class.
C. A class hides all methods of the interface.
D. An interface creates objects directly.

Solution

  1. Step 1: Understand interface purpose

    An interface declares methods without code, setting a contract.
  2. Step 2: Implementing means coding methods

    A class that implements the interface must write the code for all those methods.
  3. Final Answer:

    A class provides code for all methods declared in the interface. -> Option A
  4. Quick Check:

    Implementing interface = writing required methods [OK]
Hint: Implementing means writing all interface methods in the class [OK]
Common Mistakes:
  • Thinking interfaces can create objects
  • Believing interfaces inherit from classes
  • Assuming methods are hidden, not implemented
2. Which of the following is the correct syntax to implement an interface IMyInterface in a class MyClass?
easy
A. interface MyClass : IMyInterface { }
B. class MyClass : IMyInterface { }
C. class MyClass implements IMyInterface { }
D. class MyClass inherits IMyInterface { }

Solution

  1. Step 1: Recall C# interface syntax

    In C#, a class implements an interface using a colon (:), not 'implements' or 'inherits'.
  2. Step 2: Check each option

    class MyClass : IMyInterface { } uses correct syntax: class MyClass : IMyInterface { }. Others use wrong keywords or declare interface as class.
  3. Final Answer:

    class MyClass : IMyInterface { } -> Option B
  4. Quick Check:

    Use colon (:) to implement interface [OK]
Hint: Use ':' to implement interface, not 'implements' or 'inherits' [OK]
Common Mistakes:
  • Using 'implements' keyword like Java
  • Trying to inherit interface with 'inherits'
  • Declaring interface as a class
3. What will be the output of this code?
interface IGreet { void SayHello(); }
class Person : IGreet {
public void SayHello() { Console.WriteLine("Hi!"); }
}
var p = new Person();
p.SayHello();
medium
A. No output
B. SayHello
C. Hi!
D. Compile error

Solution

  1. Step 1: Understand interface and class

    The interface IGreet requires SayHello method. Person implements it by printing "Hi!".
  2. Step 2: Trace code execution

    Creating Person object and calling SayHello prints "Hi!" to console.
  3. Final Answer:

    Hi! -> Option C
  4. Quick Check:

    Implemented method runs and prints output [OK]
Hint: Implemented method runs exactly as coded in class [OK]
Common Mistakes:
  • Expecting method name printed instead of output
  • Thinking interface prints output
  • Assuming compile error without method body
4. Identify the error in this code:
interface IRun { void Run(); }
class Animal : IRun { }
medium
A. Class Animal must implement Run method.
B. Interface IRun cannot be empty.
C. Class Animal cannot implement interface.
D. No error, code is correct.

Solution

  1. Step 1: Check interface requirements

    IRun interface requires a method Run() to be implemented.
  2. Step 2: Verify class implementation

    Animal class implements IRun but does not provide Run() method, causing error.
  3. Final Answer:

    Class Animal must implement Run method. -> Option A
  4. Quick Check:

    Implement all interface methods [OK]
Hint: All interface methods must be in the class [OK]
Common Mistakes:
  • Forgetting to implement interface methods
  • Thinking interfaces must have code
  • Assuming empty class is allowed
5. You have two interfaces:
interface IWalk { void Walk(); }
interface ITalk { void Talk(); }

How can a class Human implement both interfaces correctly?
hard
A. interface Human : IWalk, ITalk { }
B. class Human : IWalk { public void Walk() { } } class Human : ITalk { public void Talk() { } }
C. class Human implements IWalk, ITalk { }
D. class Human : IWalk, ITalk { public void Walk() { Console.WriteLine("Walking"); } public void Talk() { Console.WriteLine("Talking"); } }

Solution

  1. Step 1: Understand multiple interface implementation

    A class can implement multiple interfaces by listing them separated by commas.
  2. Step 2: Provide all required methods

    Human class must provide Walk() and Talk() methods with code.
  3. Final Answer:

    class Human : IWalk, ITalk { public void Walk() { Console.WriteLine("Walking"); } public void Talk() { Console.WriteLine("Talking"); } } -> Option D
  4. Quick Check:

    Multiple interfaces implemented with all methods [OK]
Hint: Separate interfaces with commas and implement all methods [OK]
Common Mistakes:
  • Trying to declare multiple classes with same name
  • Using 'implements' keyword (Java style)
  • Declaring interface instead of class