Junior — Middle
Can you list the main principles of object-oriented programming?
sobes.tech AI
Answer from AI
Object-Oriented Programming (OOP) principles:
-
Encapsulation — combining data and methods that operate on that data into a single object, as well as hiding the internal implementation from the outside world.
-
Inheritance — a mechanism that allows creating new classes based on existing ones, inheriting their properties and methods.
-
Polymorphism — the ability of objects of different classes to respond to the same messages (method calls) in different ways.
-
Abstraction — highlighting the essential characteristics of an object, hiding implementation details.
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()) # Polymorphism