Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

  • class - a blueprint or template defining the structure and behavior of objects
  • object - an instance of a class representing a specific identity
  • encapsulation - bundling data and methods witihin a class, restricting direct access to data using access modifiers (public, private, protected).
  • inheritance - mechanism where a class inherits properties and methods of another class.
  • polymorphism - it means many forms. it means when methods of a class can morph into a different function with the help of inheritence: method overloading and overriding.
  • Abstraction - hiding complex implementation details and exposing only necessary features. implemented using abstract class and interfaces.
  • Decomposition - process of breaking a complex system into more maneagable and simple parts.
  • Abstraction Mechanism - techniques to achieve abstraction
    • parameterization - making a component accepts parameters.
    • specification - defining behavior and properties of a component.

Kinds of Abstraction

  • Procedural Abstraction - focuses on abstracting a single procedure or action into a single component
  • Data Abstraction - Hiding internal representation of data and exposing only necessary operations. ex - stack , queue, etc.
  • Control Abstraction - Abstract control flow intro reusable constructs. ex- map, forEach, etc
  • Type Abstraction - Generalizes data types enabling to work with self-defined and more complex data types.
  • Functional Abstraction - Treats function as first class entities, abstracting behavior that can be passed or composed.
  • Module Abstraction - Group related procedures and data into a single unit.