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

Implementing interfaces in C Sharp (C#) - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What is an interface in C#?
An interface in C# is a contract that defines a set of methods and properties without implementing them. Classes that implement the interface must provide the implementation for all its members.
Click to reveal answer
beginner
How do you declare that a class implements an interface in C#?
You use a colon (:) after the class name followed by the interface name. For example: <br><code>public class MyClass : IMyInterface { }</code>
Click to reveal answer
intermediate
Can a class implement multiple interfaces in C#? How?
Yes, a class can implement multiple interfaces by listing them separated by commas after the colon. For example:<br><code>public class MyClass : IFirst, ISecond { }</code>
Click to reveal answer
intermediate
What happens if a class does not implement all members of an interface it declares?
The C# compiler will give an error because the class must provide implementations for all interface members unless the class is declared abstract.
Click to reveal answer
advanced
Explain explicit interface implementation in C#.
Explicit interface implementation means implementing interface members so they can only be accessed through the interface, not the class instance directly. This is done by prefixing the member with the interface name, like:<br><code>void IMyInterface.Method() { }</code>
Click to reveal answer
How do you declare that a class implements an interface named IExample?
Apublic class MyClass : IExample { }
Bpublic interface MyClass : IExample { }
Cpublic class MyClass implements IExample { }
Dpublic class MyClass inherits IExample { }
What must a class do when it implements an interface?
AImplement none of the interface members
BImplement at least one interface member
CImplement all interface members
DOnly declare the interface name
Can a class implement more than one interface?
AYes, but only if interfaces inherit each other
BYes, by separating interface names with commas
CNo, only one interface is allowed
DNo, interfaces cannot be implemented
What is explicit interface implementation used for?
ATo implement interface members with different names
BTo make interface members public
CTo inherit from multiple classes
DTo hide interface members from the class's public API
If a class does not implement all interface members, what happens?
ACompilation error unless the class is abstract
BThe program runs but with warnings
CThe missing members are auto-implemented
DThe interface is ignored
Describe how to implement an interface in a C# class and what rules must be followed.
Think about the syntax and what the compiler expects.
You got /4 concepts.
    Explain the difference between implicit and explicit interface implementation in C#.
    Consider how you access the implemented methods.
    You got /4 concepts.

      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