Back to questions
Middle
9
В чём разница между ООП и функциональным программированием? Что такое чистая функция?
Companies where asked
Мыс
Answer from AI
sobes.tech AI
ООП (объектно-ориентированное программирование) и функциональное программирование — это разные парадигмы программирования с разными подходами к организации кода.
ООП:
- Основной строительный блок — объект, который объединяет данные (свойства) и поведение (методы).
- Использует наследование, инкапсуляцию, полиморфизм.
- Состояние объектов может изменяться (мутабельность).
Функциональное программирование:
- Основной строительный блок — функции как «первоклассные объекты».
- Предпочитает чистые функции, которые не имеют побочных эффектов и не изменяют внешнее состояние.
- Использует неизменяемость данных и композицию функций.
Чистая функция — это функция, которая:
- При одинаковых входных данных всегда возвращает одинаковый результат.
- Не изменяет внешнее состояние (не имеет побочных эффектов).
Пример чистой функции:
function add(a, b) {
return a + b;
}
Пример нечистой функции:
let count = 0;
function increment() {
count += 1; // изменяет внешнее состояние
return count;
}