ГоловнаВсі публікаціїКатегоріїПро проєкт

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

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

Переваги ООП

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

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

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
24.07.2023 12:01

Що таке "Обробка шейдерів Vulkan" у Steam?

meme code
meme code@memecode
24.07.2023 12:17

Як зробити Counter-Strike: GO в Ubuntu на весь екран не запускаючи гру?

meme code
meme code@memecode
20.11.2023 19:35

Як відновити видалений файл (Trix), який зберігався на Amazon S3?

meme code
meme code@memecode
29.11.2023 08:47

Чим відрізняється var від let в Javascript?

meme code
meme code@memecode
07.12.2023 07:42

Що таке інкапсуляція (encapsulation) в ООП?

meme code
meme code@memecode
07.12.2023 08:13

Контроль видимості в Ruby (public, private і protected)

meme code
meme code@memecode
09.12.2023 12:00

Що таке наслідування в Ruby? Приклади поганого та гарного наслідування.

meme code
meme code@memecode
09.12.2023 12:15

Що таке best practice у програмуванні?

meme code
meme code@memecode
09.12.2023 12:21

Що таке поліморфізм? Приклад використання поліморфізму в Ruby.

meme code
meme code@memecode
09.12.2023 12:46

Що таке патерн/шаблон проєктування?

meme code
meme code@memecode
10.12.2023 14:03

Що таке патерн проєктування в програмуванні?

meme code
meme code@memecode
10.12.2023 14:18

Що таке клієнт і сервер? Яка механіка взаємодії між клієнтом та сервером?

meme code
meme code@memecode