Coder Social home page Coder Social logo

oop's Introduction

OOP Cheatsheet by Love Babbar

Links and resources for strengthening the concepts of Object Oriented Programming [Java and C++] To the point for Interview Preparation and sufficient for Academics.

Love Babbar CheatSheet : cheatsheet
Love Babbar Video : video

Useful Links

SNo Topic Link Language
1 Virtual Functions view C++
2 Polymorphism view C++

Resources

SNo Language Link
1 C++ view
2 Java view

Overview

SNo Topic Link Date Completed
1 What is OOP ? view not done
2 How OOP is related to real world ? view not done
3 Why to study OOPs ? view not done
4 Limitations of OOPs view not done
5 When we say that "X" language is object oriented programming language, then what does we mean by that ? homework not done

Classes

SNo Topic Link Date Completed
1 Difference between Structure and Class view not done
2 Similarities between Structure and Class view not done
3 When to use Structure over Class homework not done
4 Access Modifiers view not done
5 Member Function view not done
6 Constructor view not done
7 Destructor view not done

Access Specifiers

There are 4 access modifiers in C++ :

  • public
  • private
  • protected
  • friend
  • protected friend

Member functions

  • Inside Class Function --> inline keyword
  • Outside Class Function --> scope resolution operator (::)

Constructor

SNo Topic Link Date Completed
1 Default Constructor - not done
2 Parameterised Constructor - not done
3 Copy Constructor : Deep vs shallow copy view not done
4 Copy Constructor : copy ctor vs assignment view not done
5 Virtual Constructor view not done
6 Virtual Copy Constructor view not done
7 Constructor vs member functions view not done
8 Constructor Overloading view not done

Destructor

SNo Topic Link Date Completed
1 Private Destructor view not done
2 Virtual Destructor view not done
3 Pure Virtual Destructor view not done
4 Destructor vs member functions view not done
5 Multiple Destructors in one class ? view not done
6 When to write user defined Destructor ? view not done
7 Can a Destructor be virtual ? view not done

Objects

SNo Topic Link Date Completed
1 difference btw Class and Object view not done
2 Real world Analogy btw Class and Object view not done

Important Keywords

SNo Topic Link Date Completed
1 static view not done
2 virtual view not done
3 abstract view not done
4 final view not done
5 explicit view not done
6 this view not done
7 new view not done
8 const view not done
9 super view not done

Features of OOPs :

  • Polymorphism
  • Inheritance
  • Encapsulation
  • Abstraction

Polymorphism

SNo Topic Link Date Completed
1 What is Polymorphism ? view not done
2 Need of Polymorphism ? view not done
3 Function / Operator Overloading view not done
4 Function Overriding view not done
5 Virtual Function view not done
6 Virtual Class view not done
7 Derived Class view not done
8 Can Virtual Function be private ? view not done
9 Inline Virtual Function view not done
10 Abstract Class view not done
11 Pure Virtual Function view not done
12 Pure Virtual Destructor view not done

Polymorphism is categorised into 2 types :

  • Function / Operator Overloading
  • Function Overriding

Function / Operator Overloading

SNo Topic Link Date Completed
1 Compile time Polymorphism view not done
2 Functions cannot be overloaded in C++ view not done
3 Operators that cannot be overloaded in C++ view not done

Note : Function Overriding is also called run-time Polymorphism.

5 Types of Inheritance

  • Single
  • Mutliple
  • Hierarchical
  • Multilevel
  • Hybrid / Virtual

Inheritance

SNo Topic Link Date Completed
1 What is Inheritance ? view not done
2 Need of Inheritance view not done
3 Can OOP exist without Inheritance ? view not done
4 Types of Inheritance view not done
5 Real life examples of Multiple Inheritance view not done
6 Limitations of Inheritance view not done
7 Sealed Modifier view not done
8 Calling base method without creating instance view not done
9 new vs override view not done
10 Why JAVA doesn't support Multiple Inheritance view not done
11 Dreaded diamond in Multiple Inheritance view not done
12 Object Slicing view not done
13 Hide base class methods in JAVA view not done
14 Does overloading work with Inheritance view not done
15 Polymorphism vs Inheritance view not done
16 Generalization vs Aggregation vs Composition view not done
17 Friend Function / Class homework not done
18 Local Class, nested Class homework not done
19 Simulating Final Class homework not done

Note: If class A inherits from class B, then what all are inherited from parent class and size calculation. Explore all possible combinations

Encapsulation

SNo Topic Link Date Completed
1 What is Encapsulation ? view not done
2 Advantages of Encapsulation view not done
3 How to achieve Encapsulation view not done
4 Code / Implementation of Encapsulation view not done
5 Real world example of Encapsulation view not done

Encapsulation is the combination of Data hiding and Abstraction

Abstraction

SNo Topic Link Date Completed
1 What is Abstraction ? view not done
2 When to Abstraction ? homework not done
3 How to achieve Abstraction ? view not done
4 Encapsulation vs Abstraction view not done
5 Interface vs Abstract classes in JAVA view not done
Data abstraction is a way of hiding the implementation details and showing only the functionality to the users.

How to achieve : 
  1) C++  --> Access specifiers and header files
  2) JAVA --> Interfaces and Abstract classes

Design Interview Questions

SNo Topic Link Date Completed
1 Design a hashmap view not done
2 Design a LRU cache view not done
3 Design a Call Center view not done
4 Design a deck of cards view not done
5 Design a parking lot view not done
6 Design an online chat view not done

Miscellaneous

SNo Topic Link Date Completed
1 Static and Dynamic Binding view not done
2 Message Passing view not done
3 C vs C++ vs JAVA view not done
4 Procedural vs OOPs view not done
5 Why JAVA is not purely OOB view not done
6 Is array primitive or object in JAVA view not done
7 Early and late binding view not done
8 Default access modifier in class view not done
9 No. of instances for an abstract class view not done
10 Garbage Collection view not done
11 Manipulators view not done
12 Finally block view not done
13 Final Variable view not done
14 Exception view not done
15 Error vs Exception view not done
16 Exception Handling view not done
17 Finalize method in JAVA view not done
18 Tokens view not done
19 Ternary Operator view not done
20 Enum view not done
21 Design Patterns view not done
22 Using struct vs class view not done
23 Cohesion vs Coupling view not done
Is it possible for a class to inherit the constructor of its base class ? 
super keyword
order of constructor and destructor calling sequence in case of various inheritance schemes.
Singleton pattern example.

oop's People

Contributors

vineethm1627 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.