Spis treściKliknij link, aby przejść do wybranego miejsca
Ta treść została automatycznie przetłumaczona z ukraińskiego.
Programowanie obiektowe (OOP) - to paradygma programowania, która wykorzystuje obiekty i klasy do organizacji kodu. Główne idee OOP opierają się na próbie modelowania rzeczywistego świata w kodzie programowym, wykorzystując pojęcie obiektów, które mają właściwości (atrybuty) oraz zachowanie (metody).
Zalety OOP
Modularność: Obiekty pozwalają enkapsulować funkcjonalność i stan, czyniąc kod bardziej modularnym i łatwiejszym do zrozumienia.
Dziedziczenie: Możliwość tworzenia nowej klasy na podstawie istniejącej pozwala na ponowne wykorzystanie kodu i zmniejszenie duplikacji.
Polimorfizm: Możliwość używania tego samego interfejsu dla różnych klas pozwala na rozszerzanie funkcjonalności bez modyfikacji istniejącego kodu.
Języki wspierające paradygmat OOP
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 i wiele innych.
Wiele języków może wspierać kilka paradygmatów programowania jednocześnie. Tak więc ta lista jest w rzeczywistości większa.
Baza OOP
Klasy - to szablony lub opisy do tworzenia obiektów. Klasa definiuje właściwości (atrybuty) i metody (funkcje), które będzie miała instancja obiektu.
Obiekt - to konkretny egzemplarz klasy, stworzony za pomocą konstruktora klasy. Każdy obiekt ma swój własny stan (wartości atrybutów) oraz zachowanie (reakcję na wywołanie metod).
Enkapsulacja w OOP oznacza łączenie danych oraz metod, które pracują z tymi danymi, w jednym obiekcie lub klasie. Enkapsulacja pozwala ukryć wewnętrzną implementację i ogranicza dostęp do niektórych komponentów zewnętrznych.
Dziedziczenie pozwala na tworzenie nowej klasy na podstawie istniejącej (klasy rodzicielskiej), dziedzicząc jej właściwości i metody. To sprzyja wykorzystaniu istniejącego kodu oraz rozszerzaniu jego funkcjonalności.
Polimorfizm oznacza możliwość obiektów różnych klas wywoływania tej samej metody lub funkcji o tej samej nazwie. To czyni programy bardziej elastycznymi i ogólnymi.
Przykład tworzenia klasy i obiektu w Ruby
class Person
attr_accessor :name, :age
def initialize(name, age)
@name = name
@age = age
end
def introduce
puts "Cześć, jestem #{@name} i mam #{@age} lat."
end
end
# Tworzenie obiektu klasy Person
person = Person.new("John", 25)
# Wywołanie metody obiektu
person.introduce
Ten post nie ma jeszcze żadnych dodatków od autora.