Junior — Middle
Can you explain the main ideas behind object-oriented programming?
sobes.tech AI
Answer from AI
Object-oriented programming (OOP) is based on several key ideas:
- Classes and objects: A class is a template or description of an entity, and an object is a specific instance of that class with its own data.
- Encapsulation: Hiding the internal implementation of an object and providing access to data through methods, which protects data from improper use.
- Inheritance: Allows creating new classes based on existing ones, inheriting their properties and methods, which promotes code reuse.
- Polymorphism: The ability of objects of different classes to respond to the same messages (method calls) in different ways, simplifying code extension and maintenance.
Example in Python:
class Animal:
def speak(self):
pass
class Dog(Animal):
def speak(self):
return "Woof"
class Cat(Animal):
def speak(self):
return "Meow"
animals = [Dog(), Cat()]
for animal in animals:
print(animal.speak()) # Will output "Woof" and "Meow"