Дисклеймер

Інформація на сайті tseivo.com є суб'єктивною та відображає особисті погляди та досвід авторів та авторок блогів.

Використовуйте цей ресурс як одне з декількох джерел інформації під час своїх досліджень та прийняття рішень. Завжди застосовуйте критичне мислення. Людина сама несе відповідальність за свої рішення та дії.

Що таке ООП (об'єктно-орієнтоване програмування)?

Об'єктно-орієнтоване програмування (ООП) - це парадигма програмування, яка використовує об'єкти та класи для організації коду. Основні ідеї ООП базуються на спробі моделювати реальний світ у програмному коді, використовуючи поняття об'єктів, які мають властивості (атрибути) та поведінку (методи).

Переваги ООП

Модульність: Об'єкти дозволяють інкапсулювати функціональність та стан, роблячи код більш модульним і легким для розуміння.
Спадкування: Можливість створювати новий клас на основі існуючого дозволяє повторно використовувати код і зменшувати дублювання.
Поліморфізм: Можливість використовувати однаковий інтерфейс для різних класів дозволяє розширювати функціональність без модифікації існуючого коду.

Мови, які підтримують ООП парадигму

Java, C++, C#, Python, Ruby, Swift, Objective-C, Kotlin, PHP, JavaScript, Scala, Dart, Smalltalk, Eiffel, Simula, Go, Perl, Rust, Lua, Groovy, Haskell, Ada, Groovy, Delphi/Object Pascal, Fortran, R, ABAP, TypeScript, ActionScript, ColdFusion, PowerBuilder, Prolog, Visual Basic (VB.NET), F#, COBOL, PL/SQL, Io, Erlang, Lua, APL та багато інших.
Багато мов можуть підтримувати кілька парадигм програмування одночасно. Тож цей список насправді більший.

База ООП

Класи - це шаблони або опис для створення об'єктів. Клас визначає властивості (атрибути) та методи (функції), які буде мати об'єкт.
Об'єкт - це конкретний екземпляр класу, створений за допомогою конструктора класу. Кожен об'єкт має свій власний стан (значення атрибутів) та поведінку (реакцію на виклик методів).
Інкапсуляція в ооп означає об'єднання даних та методів, які працюють з цими даними, в одному об'єкті або класі. Інкапсуляція дозволяє приховати внутрішню реалізацію та обмежує доступ до деяких компонентів зовнішнього середовища.
Спадкування дозволяє створювати новий клас на основі існуючого (батьківського) класу, успадковуючи його властивості та методи. Це сприяє використанню існуючого коду та розширенню його функціональності.
Поліморфізм означає можливість об'єктів різних класів викликати однаковий метод чи функцію з однаковою назвою. Це робить програми більш гнучкими та узагальненими.

Приклад створення класу та об'єкта в Ruby

class Person
  attr_accessor :name, :age

  def initialize(name, age)
    @name = name
    @age = age
  end

  def introduce
    puts "Hi, I'm #{@name} and I'm #{@age} years old."
  end
end

# Створення об'єкта класу Person
person = Person.new("John", 25)

# Виклик методу об'єкта
person.introduce
📝 Більше публікацій: