Instagram
youtube
Facebook
Twitter

Abstraction in OOPS

Abstraction

Abstraction allows you to represent the essential features of an object while hiding the gratuitous details. Abstract classes can contain pure virtual functions that are meant to be overridden by derived classes. Abstract classes cannot be instantiated; they serve as blueprints for derived classes.

Abstract Classes: An abstract class is a class that cannot be instantiated on its own and is meant to be used as a base for other classes. It contains at least one pure virtual function that has no implementation in the abstract class. Derived classes must provide implementations for these pure virtual functions.

Illustration:

class Shape {

public:

virtual double getArea() const = 0;

};

 

Interface and Implementation Separation: Abstraction helps in separating the interface (what a class does) from its implementation (how it does it ).The interface provides a clear set of methods that other classes can use, while the implementation is hidden from the outside world.

class RemoteControl {

public:

    virtual void powerOn() = 0;

    virtual void powerOff() = 0;

    virtual void changeChannel(int channel) = 0;

};

class TVRemote : public RemoteControl {

public:

    void powerOn() override {

            }

    void powerOff() override {

           }

    void changeChannel(int channel) override {

            }

};

Object-oriented programming in C++ allows for code reusability, modularity, and easy maintenance. It encourages better design practices and promotes a more natural way of representing real-world entities in the code.