0% found this document useful (0 votes)
225 views

Abstract Class and Interface

Abstract classes and interfaces allow for abstraction in C# by hiding implementation details. Abstract classes can contain both abstract and non-abstract methods, but cannot be instantiated. Derived classes must provide implementation for all abstract methods. Interfaces contain only abstract methods and cannot be instantiated. Classes that implement interfaces must provide implementation for all interface methods. The document provides an example of an abstract class and interface with a draw method, and classes that inherit/implement them and provide different draw implementations.

Uploaded by

shubham
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
225 views

Abstract Class and Interface

Abstract classes and interfaces allow for abstraction in C# by hiding implementation details. Abstract classes can contain both abstract and non-abstract methods, but cannot be instantiated. Derived classes must provide implementation for all abstract methods. Interfaces contain only abstract methods and cannot be instantiated. Classes that implement interfaces must provide implementation for all interface methods. The document provides an example of an abstract class and interface with a draw method, and classes that inherit/implement them and provide different draw implementations.

Uploaded by

shubham
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Abstract Class

Abstract Class
• Abstract Classes are the way to achieve
abstraction in C#.
• Abstraction in C# is the process to hide the
internal details and showing functionality only.
• Abstraction can be achieved by two ways:
– Abstract Class
– Interface
• Abstract class and interface both can have
abstract methods which are necessary for
abstraction.
Abstract Method
• A method which is declared abstract and has
no body is called abstract method.
• It can be declared inside the
abstract class only.
• Its implementation must be provided by
derived classes.
• For example:
public abstract void draw();
Abstract Method

• Note: An abstract method in C# is internally


a virtual method so it can be overridden by
the derived class.
• You can't use static and virtual modifiers in
abstract method declaration.
C# Abstract Class
• In C#, abstract class is a class which is
declared abstract.
• It can have abstract and non-abstract
methods.
• It cannot be instantiated.
• Its implementation must be provided by
derived classes.
• Here, derived class is forced to provide the
implementation of all the abstract methods.
C# Abstract Class
• Let's see an example of abstract class in C#
which has one abstract method draw().
• Its implementation is provided by
derived classes: Rectangle and Circle.
• Both classes have different implementation.
C# Abstract Class: Example
using System;
public abstract class Shape
{
public abstract void draw();
}
public class Rectangle : Shape
{
C# Abstract Class: Example
public override void draw()
{
Console.WriteLine("drawing rectangle...");
}
}
C# Abstract Class: Example
public class Circle : Shape
{
public override void draw()
{
Console.WriteLine("drawing circle...");
}
}
C# Abstract Class: Example
public class TestAbstract
{
public static void Main()
{
Shape s;
s = new Rectangle();
s.draw();
s = new Circle();
s.draw();
}
}
Output:
• drawing ractangle...
• drawing circle...
C# Interface
• Interface in C# is a blueprint of a class.
• It is like abstract class because all the
methods which are declared inside the
interface are abstract methods.
• It cannot have method body and cannot be
instantiated.
• It is used to achieve multiple inheritance which
can't be achieved by class.
C# Interface
• It is used to achieve fully abstraction because it
cannot have method body.
• Its implementation must be provided
by class or struct.
• The class or struct which implements the
interface, must provide the implementation
of all the methods declared inside the
interface.
C# Interface Example
• Let's see the example of interface in C#
which has draw() method.
• Its implementation is provided by
two classes: Rectangle and Circle.
C# Interface Example
using System;
public interface Drawable
{
void draw();
}
public class Rectangle : Drawable
{
public void draw()
{
Console.WriteLine("drawing rectangle...");
}
}
C# Interface Example
Public class Circle : Drawable
{
public void draw()
{
Console.WriteLine("drawing circle...");
}
}
C# Interface Example
public class TestInterface
{
public static void Main()
{
Drawable d;
d = new Rectangle();
d.draw();
d = new Circle();
d.draw();
}
}
Output:
drawing ractangle...
drawing circle...
C# Interface Example
• Note: Interface methods are public and
abstract by default.
• You cannot explicitly use public and abstract
keywords for an interface method.
C# Interface Example
using System;
public interface Drawable
{
public abstract void draw();//Compile Time Error
}

You might also like