ООП — это парадигма программирования, основанная на концепции объектов, которые содержат данные и методы. Вот 4 ключевых принципа ООП с подробным объяснением:
Суть: Сокрытие внутренней реализации объекта и предоставление безопасного интерфейса для взаимодействия.
Пример на Swift:
class BankAccount {
private var balance: Double = 0
func deposit(amount: Double) {
if amount > 0 {
balance += amount
}
}
func getBalance() -> Double {
return balance
}
}
Важно:
private
для скрытия данныхСуть: Возможность создания новых классов на основе существующих с переиспользованием их функциональности.
Пример:
class Vehicle {
func move() {
print("Moving")
}
}
class Car: Vehicle {
override func move() {
print("Driving on road")
}
}
Особенности:
Суть: Возможность объектов с одинаковым интерфейсом иметь разную реализацию.
Проявляется через:
Пример:
protocol Shape {
func draw()
}
class Circle: Shape {
func draw() {
print("Drawing circle")
}
}
class Square: Shape {
func draw() {
print("Drawing square")
}
}
Суть: Выделение существенных характеристик объекта и игнорирование несущественных.
Реализуется через:
Пример:
protocol DatabaseService {
func save(data: String)
func fetch(id: String) -> String?
}
class CoreDataService: DatabaseService {
func save(data: String) { /* реализация */ }
func fetch(id: String) -> String? { /* реализация */ }
}
Хотя формально это не часть "основных" принципов, в современной разработке они крайне важны:
Основные принципы ООП — это инкапсуляция, наследование, полиморфизм и абстракция. Они помогают создавать гибкие, поддерживаемые и масштабируемые системы. В iOS-разработке эти принципы особенно важны при работе с UIKit/SwiftUI, архитектурными паттернами (MVC, MVVM, VIPER) и проектировании сложных систем.