Ruby on Rails

Programowanie obiektowe w Ruby

Klasy, moduły, dziedziczenie, mixiny, attr_accessor, self, podstawy metaprogramowania

20 pytań z rozmów·
Junior
1

Jak zdefiniować klasę w Ruby?

Odpowiedź

W Ruby klasę definiuje się słowem kluczowym class, po którym następuje nazwa klasy (zgodnie z konwencją w CamelCase), a kończy słowem end. Metoda initialize pełni rolę konstruktora i jest wywoływana automatycznie podczas tworzenia nowej instancji za pomocą Class.new. Zmienne instancyjne (z przedrostkiem @) przechowują stan każdego obiektu.

2

Jaka jest rola metody initialize w Ruby?

Odpowiedź

Metoda initialize jest constructorem w Ruby. Jest wywoływana automatycznie, gdy nowy obiekt jest tworzony przez Class.new. Pozwala inicjalizować zmienne instancji i ustawiać początkowy stan obiektu. W przeciwieństwie do innych języków, constructor nie nosi nazwy klasy, lecz zawsze nazywa się initialize.

3

Jaka jest różnica między attr_reader, attr_writer i attr_accessor?

Odpowiedź

Te trzy metody klasy automatycznie generują akcesory. attr_reader tworzy tylko getter (odczyt), attr_writer tworzy tylko setter (zapis), a attr_accessor tworzy oba naraz. Pozwala to uniknąć ręcznego pisania powtarzalnych metod getter/setter, czyniąc kod bardziej zwięzłym i czytelnym.

4

Jak działa dziedziczenie klas w Ruby?

5

Jaka jest różnica między module a klasą w Ruby?

+17 pytań z rozmów

Opanuj Ruby on Rails na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo