OOP

1234567891011121314151617181920
Across
  1. 2. A blueprint or template for creating objects in Python.
  2. 5. special “double underscore” methods like `__str__`, `__len__`, or `__add__` that customize object behavior.
  3. 8. The concept of bundling data and methods within a class and restricting access to internal details.
  4. 10. Creating complex objects by combining simpler objects, rather than through inheritance.
  5. 11. The class whose features are inherited by another class.
  6. 12. A method used to access (get) the value of a private attribute.
  7. 13. A class that inherits attributes and methods from another class.
  8. 14. A function defined inside a class that operates on its objects.
  9. 15. Replacing a method in a child class that already exists in the parent class.
  10. 16. A mechanism that allows one class to acquire properties and methods of another class.
  11. 18. An instance of a class that contains data (attributes) and behaviors (methods).
  12. 19. Hiding complex details and showing only the essential features of an object.
  13. 20. A reference to the current instance of a class; used to access attributes and methods.
Down
  1. 1. The ability of different classes to use methods with the same name but different behaviors.
  2. 3. A special method (`__init__`) that initializes new objects.
  3. 4. An attribute intended to be hidden from outside access, often prefixed with an underscore (e.g., `_name`).
  4. 6. The process of creating an instance (object) from a class.
  5. 7. A variable that stores data associated with an object or class.
  6. 9. A specific object created from a class.
  7. 17. A method used to modify (set) the value of a private attribute.