od Podstaw
5 godz. 10 min · Ruby · Full-stack i Programowanie
Małgorzata ŁyczywekSoftware engineerW pierwszych lekcjach Kursu przejdziemy do omówienia konfiguracji środowiska, by następnie poznać tryb interaktywny Rubiego. Stworzymy pierwsze programy oraz poznamy składnię języka. Dowiesz się między innymi tego, czym są zmienne, jakie istnieją typy danych, jak przekazywać własne dane do programu i jak na nich operować.
Programy oraz instrukcje potrafią w znaczny sposób przyspieszyć i ułatwić pracę w Ruby. Mogą wykonywać za nas powtarzające się czynności i podejmować decyzje. Dlatego też kolejnym, naturalnym krokiem nauki języka Ruby jest poznanie struktur sterujących kodem, takich jak instrukcje warunkowe if, case, pętle while, until, for, each czy inne iteratory.
W kolejnych lekcjach poznasz następne, bardziej rozbudowane zagadnienia. Będziemy korzystać z zaawansowanych struktur danych i metod, jakie możemy na nich wykonywać. Są to metody wbudowane, a więc dostępne domyślnie w Ruby. Przejdziemy do pisania własnych metod dbając, by nasz kod był zgodny z regułą DRY. Poznamy zagadnienia związane ze strukturami specyficznymi dla języka Ruby a także praktykami, jakie są w tym języku stosowane.
Dane do programów najczęściej dotaczane są z zewnętrznego źródła, jak na przykład pobierane z pliku. Przekonasz się jak wykonywać operację na plikach w Ruby - odczytywać, zapisywać, a także w jaki sposób radzić sobie z dużymi plikami w wydajny sposób. Dowiemy się również co zrobić, gdy nasz program spotka niespodziewany błąd. Zajmiemy się przewidywaniem i zapobieganiem błędów w kodzie.
Kolejna, najbardziej obszerna część kursu to dokładne omówienie podstaw paradygmatu programowania obiektowego. Nawet jeżeli wydaje Ci się to bardzo skomplikowane - niedługo wszystko stanie się jasne. Programowanie obiektowe pozwala nam na lepsze odwzorowanie rzeczywistości, czyli tworzenie bardziej praktycznego kodu. Przyjrzymy się jak obiektowość jest realizowana w Ruby oraz jak tworzyć obiekty, klasy i jakich zasad warto przestrzegać. Na koniec dowiemy się jak rozszerzać funkcjonalność istniejących klas za pomocą modułów.
Ten kurs został przygotowany z myślą o wszystkich, którzy chcą zacząć naukę programowania Ruby od podstaw. Stworzono go szczególnie dla osób, które z pisaniem kodu nie miały jeszcze styczności. Nie jest wymagana żadna wcześniejsza wiedza na temat programowania. Jeśli chcesz szybko nauczyć się programowania i myślisz, że twoim kierunkiem jest tworzenie aplikacji webowych, to Ruby jest świetnym wyborem na start.
2.6+
Przejdziemy sobie teraz do kolejnego tematu dotyczącego dziedziczenia i
od razu zaczniemy od naszego kodu mamy sobie klasę psa która zaczyna
się od imienia i wieku czyli jeżeli chcę stworzyć psa muszę zrobić na
przykład pies max równa się dog new podaję
oczywiście imię psa max a następnie jego wiek załóżmy
3 lata chcę dodać też metodę która powoduje że pies
szczeka załóżmy że pies ma metodę bark i
w zależności od wieku pies wydaje dźwięk hau razy
age czyli teraz mogę sprawdzić że max rzeczywiście może
wykonać szczekanie poprzez wyświetlenie wyniku rzeczywiście
zwróciło mi hau hau hau stworzę sobie teraz drugą
klasę tutaj powyżej będzie to klasa wilka class
canis i stworzę
też zmienną klasy łapy wilki
mają cztery łapy następnie stworzę konstruktor konstruktor
będzie bardzo głupiutki na początek będzie nam tylko i wyłącznie wyświetlał pewną informację
czyli sobie wyświetlimy jakieś zdanie na przykład canis is
od razu jego rodzinę
family jak dobrze sprawdziłam
nawet nie będę próbować czytać bo dawno łaciny nie miałam
no ale tu mamy informacje z wikipedii że
wilk jest gatunkiem z rodziny takiej a nie innej i możemy
też dodać jakiś opis dodatkowo drugą metodę nasza metoda instancji to będzie show
description może nawet skrócę
żeby było po prostu description będzie krócej i dodamy sobie jakiś
opis dla naszego massive
beautiful i niebezpieczne
czyli mamy teraz klasę wilk który
w ramach tutaj konstruktora wyświetli nam napis
dotyczący opisu wilka będzie miał drugą metodę instancji
opis po prostu i oprócz tego będzie miał ile
łap ma nasz wilk możemy sprawić że pies
będzie dziedziczył z klasy wilk używamy tego takich
tej strzałki czy znaku mniejszości i
dodajemy canis czyli teraz nasza
klasa pies dziedziczy z klasy wilk zobaczmy
na razie nic się nie zmieniło nadal pies
zaszczekał ale poprzez dziedziczenie nasz pies też czy
dostał dostęp do rzeczy charakterystycznych dla wilka tutaj
mamy taką z description więc spróbuję naszemu psu
wyświetlić opis który jest dostępny wyżej description i
rzeczywiście nagle nasz piesek max stał się masywnym
pięknym i niebezpiecznym zwierzęciem możemy zwrócić uwagę że
klasa canis naszego wilka ma tylko inicjalizację
czyli jeżeli stworzę sobie obiekt wilk
canis kropka new to
nie muszę podawać żadnego argumentu żeby rzeczywiście wilk mi się
utworzył tutaj sobie to na razie inne wyświetlania schowam
i w momencie tworzenia wyświetla się napis z
opisem tutaj naszej klasy wilk jednak
ten opis dostępny w konstruktorze nie pojawia się dla klasy pies
ponieważ konstruktor klasy pies nadpisuje zawartość konstruktora
dziedziczonego od klasy wilk podobnie
zresztą jak teraz mogliśmy zobaczyć max kropka description
i kiedy go wyświetliliśmy pojawia nam się opis
z klasy wilk ale możemy go
również nadpisać tak samo jak nadpisaliśmy konstruktor czyli zrobimy definicję
pod dokładnie taką samą nazwą description i
zrobimy sobie cute and
friendly i też tutaj z wyświetlaniem
czyli kiedy nasz pies teraz będzie chciał pokazać
opis to pojawi się zupełnie inny pojawi nam się cute
and friendly klasa potomna zawsze
dziedziczy jakieś atrybuty czy metody z klasy czy naszej klasy
naszego rodzica możemy nadpisać te metody tak jak tutaj
wykonaliśmy z description czy wykonujemy z konstruktorem i
w ten sposób mamy dostęp do
wszystkiego co nam dał rodzić czyli czysto teoretycznie możemy
też zobaczyć ile łap ma nasza klasa wilk czyli
mogę dodać jeszcze jedną rzecz tu sobie stworzę metodę po prostu paw
i wyświetlę małpa
małpa paw tutaj
mamy i kiedy dla naszego maxa wyświetlimy
paw to zobaczymy czwóreczkę
tak jakbyśmy tego oczekiwali po dziedziczeniu z klasy naszego rodzica