OOPs | 01-OOPS concept

class, object, properties and behaviours

1. OOPs, Concept

  • Object Oriented Programming
  • OOP is a specific way of designing a program by using classes and objects
  • It allows us to relate program with real-world objects, like properties and behaviors
  • Properties
    • It defines the state of the object.
    • Like: name, age, address etc. that store data of the object
  • Behaviors
    • Are the actions our object can take.
    • Like: talking, breathing, running etc
    • Oftentimes, this involves using or modifying the properties of our object.
[Read More]

OOPs | 02-Variables

Class and Instance variables

2. Variables/Attribute

In a class all the variables are term as Attribute

There are 3 types of variables are allowed.

  1. Instance/Regular Variables - - Object Level Variables
  2. Class/Static Variables - - Class Level Variables
  3. Local variables - - Method Level Variables
  • Attributes are looked first in the instance and then in the class
[Read More]

OOPs | 03-Methods

Regular, Class and Static methods

3. Methods in python

  • Function
    • Function is block of code that is also called by its name(independent)
    • Function does not deal with Class and its instance concept.
  • Methods
    • Method is called by its name, but it is associated to an object (dependent)

The following are various types of allowed methods:

  1. Instance Methods - - self
  2. Class Methods - - cls
  3. Static Methods
[Read More]

OOPs | 04-Encapsulation

Access Modifier

4.1 Encapsulation in Python

  • Access modifier are useful to attain encapsulation
  • It is archived by access modifiers public, private, protected

Python does not have strong distinctions between private and public variables like Java does.

There is no private-ness in python, as one of Python principles says –> We're all adults

# They just follow convention
Single underscore `_`
    --> its suppose to be protected
Double underscore `__`
    --> Do not use this field directly

# It is called Name Mangling
[Read More]

OOPs | 05-Inheritance

Inheritance

5. Inheritance

It is a mechanism that allows you to create a hierarchy of classes that share a set of properties and methods by deriving a class from another class. Inheritance is the capability of one class to derive or inherit the properties from another class.

  • It specifies that the child object acquires all the properties and behaviors of the parent object.
  • It provides re-usability of the code.
[Read More]

OOPs | 06-Magic Methods

Dunder, Magic, Special Methods

Magic Methods

Magic Methods are also known as Dunder methods, Special methods

Python dunder methods are the special predefined methods having two prefixes and two suffix underscores in the method name. Here, the word dunder means double under (underscore).

These special dunder methods are used in case of operator overloading (they provide extended meaning beyond the predefined meaning to an operator).

[Read More]