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
Interface Declaration Syntax in C#
📖 Scenario: Imagine you are designing a simple system for different types of vehicles. Each vehicle should be able to start and stop. To ensure all vehicles follow this rule, you will use an interface.
🎯 Goal: You will create an interface called IVehicle with two methods: Start() and Stop(). Then, you will create a class that implements this interface.
📋 What You'll Learn
Create an interface named IVehicle
Declare two methods inside IVehicle: Start() and Stop()
Create a class named Car that implements the IVehicle interface
Implement the Start() and Stop() methods in the Car class
Print messages when Start() and Stop() are called
💡 Why This Matters
🌍 Real World
Interfaces help define rules that different classes must follow, like how different vehicles must be able to start and stop.
💼 Career
Understanding interfaces is important for designing flexible and maintainable code in many software development jobs.
Progress0 / 4 steps
1
Create the IVehicle interface
Create an interface called IVehicle with two method declarations: void Start() and void Stop().
C Sharp (C#)
Hint
Use the interface keyword followed by the interface name. Inside, declare the methods without bodies.
2
Create the Car class implementing IVehicle
Create a class called Car that implements the IVehicle interface.
C Sharp (C#)
Hint
Use class Car : IVehicle to implement the interface. Add method stubs for Start() and Stop().
3
Implement the Start() and Stop() methods
Inside the Car class, implement the Start() method to print "Car started" and the Stop() method to print "Car stopped".
C Sharp (C#)
Hint
Use System.Console.WriteLine() to print messages inside each method.
4
Create a Car object and call its methods
Create an object of the Car class named myCar. Call the Start() method, then call the Stop() method.
C Sharp (C#)
Hint
Create the myCar object with new Car(). Then call myCar.Start() and myCar.Stop().
Practice
(1/5)
1. What is the main purpose of an interface in C#?
easy
A. To define a contract with method and property signatures only
B. To implement all method bodies for a class
C. To store data like variables and constants
D. To create an instance of a class directly
Solution
Step 1: Understand what an interface is
An interface only declares method and property signatures without implementations.
Step 2: Compare with other options
Interfaces do not implement methods or store data; they define a contract for classes.
Final Answer:
To define a contract with method and property signatures only -> Option A
Quick Check:
Interface purpose = contract definition [OK]
Hint: Interfaces declare methods, they don't implement them [OK]
Common Mistakes:
Thinking interfaces contain method bodies
Confusing interfaces with classes
Believing interfaces store data
2. Which of the following is the correct syntax to declare an interface named IMyInterface in C#?
easy
A. interface IMyInterface { void MyMethod(); }
B. class IMyInterface { void MyMethod(); }
C. interface IMyInterface() { void MyMethod(); }
D. interface IMyInterface[] { void MyMethod(); }
Solution
Step 1: Check the keyword and name format
Interfaces use the keyword interface followed by the name without parentheses or brackets.
Hint: Use 'interface Name { }' without parentheses or brackets [OK]
Common Mistakes:
Using class keyword instead of interface
Adding parentheses after interface name
Using brackets [] after interface name
3. What will be the output of the following code?
interface IExample { void Show(); }
class Demo : IExample {
public void Show() { Console.WriteLine("Hello Interface"); }
}
class Program {
static void Main() {
IExample obj = new Demo();
obj.Show();
}
}
medium
A. Compilation error: Show method missing
B. Hello Interface
C. Runtime error: Cannot create interface instance
D. No output
Solution
Step 1: Understand interface implementation
The class Demo implements IExample and provides the Show method.
Step 2: Analyze the Main method
An object of Demo is created and assigned to an IExample reference, then Show() is called, printing the message.
Final Answer:
Hello Interface -> Option B
Quick Check:
Interface method call prints message [OK]
Hint: Interface methods must be implemented to avoid errors [OK]
Common Mistakes:
Assuming interfaces can be instantiated directly
Forgetting to implement interface methods
Expecting no output without method body
4. Identify the error in the following interface declaration:
interface ITest {
void Run() {}
}
medium
A. Missing semicolon after method declaration
B. Method name must be lowercase
C. Interface name must start with lowercase 'i'
D. Interfaces cannot have method bodies
Solution
Step 1: Check method declaration in interface
Interfaces only declare method signatures without bodies (no curly braces).
Step 2: Validate other syntax rules
Method names can be any case; interface names usually start with uppercase 'I'. Semicolon is required after signature.
Final Answer:
Interfaces cannot have method bodies -> Option D
Quick Check:
Interface methods = signatures only [OK]
Hint: No method bodies allowed inside interfaces [OK]
Common Mistakes:
Adding method bodies inside interfaces
Confusing naming conventions with syntax errors
Omitting semicolon after method signature
5. You want to declare an interface IVehicle with two methods: Start() and Stop(). Which of the following is the correct way to declare it and implement it in a class Car?
hard
A. interface IVehicle { void Start(); void Stop(); }
class Car { public void Start() { } public void Stop() { } }
B. interface IVehicle { void Start() {} void Stop() {} }
class Car : IVehicle { }
C. interface IVehicle { void Start(); void Stop(); }
class Car : IVehicle { public void Start() { Console.WriteLine("Car started"); } public void Stop() { Console.WriteLine("Car stopped"); } }
D. interface IVehicle { void Start(); void Stop(); }
class Car : IVehicle { void Start() { } void Stop() { } }
Solution
Step 1: Declare interface with method signatures only
IVehicle must declare Start() and Stop() without bodies.
Step 2: Implement interface methods publicly in class
Car must implement both methods with public access and provide method bodies.
Step 3: Check other options for errors
interface IVehicle { void Start() {} void Stop() {} }
class Car : IVehicle { } has method bodies in interface (invalid). interface IVehicle { void Start(); void Stop(); }
class Car { public void Start() { } public void Stop() { } } does not implement interface. interface IVehicle { void Start(); void Stop(); }
class Car : IVehicle { void Start() { } void Stop() { } } implements methods but lacks public modifier, causing error.
Final Answer:
Correct interface and class implementation with public methods -> Option C
Quick Check:
Interface methods declared; class implements publicly [OK]
Hint: Interface methods need public implementation in classes [OK]