Programowanie Obiektowe - co to? | Przykłady | Po polsku
Wiele osób zastanawia się czym jest programowanie obiektowe. W tym artykule znajdziesz odpowiedź na to pytanie oraz przykłady zastosowania programowania obiektowego podczas pracy w IT. Ten paradgmat programowania jest bardzo popularny i implementowany w wielu językach programowania, takich jak JavaScript, PHP, Java, C# czy Python. Zaraz dowiesz się dlaczego warto go znać.
Spis treści
- Co to programowanie obiektowe?
- Programowanie obiektowe w JavaScript - przykłady
- Klasy w programowaniu - czym są?
- Przykład klasy w programowaniu obiektowym
- Podsumowanie
Co to programowanie obiektowe?
Programowanie obiektowej (OOP - ang. Object-Oriented Programming) to paradygmat programowania, dąży do tego, żeby wszystko w programie było obiektem. Obiekt to z kolei zbiór danych oraz metod, które na tych danych operują. Programowanie obiektowe pozwala na tworzenie bardziej złożonych struktur danych, przy których po prostu łatwiej się pracuje.
Ciekawostka - pierwszy język programowania, który wprowadził programowanie obiektowe to Simula w 1967 roku.
Jak wygląda taki obiekt?
Obiekt składa się z pól (ang. fields) oraz metod (ang. methods). Pola to po prostu zmienne, które przechowują jakieś dane. Metody to funkcje, które operują na tych danych.
Podawane przykłady będą w języku JavaScript, ale zasada ogólna jest taka sama dla każdego języka programowania.
Przykładowy obiekt
const user = {
name: 'Max',
age: 25,
przywitajSie: function() {
console.log(`Cześć, jestem ${this.name}`);
}
}
Co to jest this
?
this
to specjalne słowo kluczowe, które odnosi się do obiektu, w którym jest używane. W tym przypadku this
odnosi się do obiektu user
. Dzięki temu możemy odwoływać się do pól obiektu wewnątrz jego metod.
Jak użyć obiektu?
Użycie obiektu to po prostu wywołanie jego metod. W tym przypadku wywołanie metody przywitajSie
wygląda tak:
user.przywitajSie(); // Cześć, jestem Max
Jak wyglądałby ten sam kod bez programowania obiektowego?
Ta sama funkcjonalność bez programowania obiektowego wyglądałaby tak:
const userName = 'Max';
const userAge = 25;
function przywitajSie(userName) {
console.log(`Cześć, jestem ${userName}`);
}
przywitajSie(userName); // Cześć, jestem Max
Użytkowanie - co to ozancza w praktyce?
Programowanie obiektowe pozwala na tworzenie bardziej złożonych struktur danych, które są łatwiejsze w utrzymaniu - bardziej czytelne dla człowieka. Jest to możliwe dzięki temu, że wszystko jest obiektem, możemy łatwo tworzyć nowe obiekty, które dziedziczą po innych obiektach.
Prawdziwa zaleta programowania obiektowego - masowe tworzenie przy użyciu klas
W programowaniu obiektowym, obiekty tworzymy przy użyciu klas.
Klasa to taki szablon, który definiuje jak ma wyglądać obiekt. Dzięki temu możemy masowo tworzyć obiekty, które mają takie same właściwości i metody.
Przykład klasy w programowaniu obiektowym
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
przywitajSie() {
console.log(`Cześć, jestem ${this.name}`);
}
}
Jak użyć klasy?
W poniższym przykładzie stworzymy obiekt z takimi samymi właściwościami i metodami jak w przykładzie pierwszym, ale przy użyciu klasy.
const user = new User('Max', 25);
user.przywitajSie(); // Cześć, jestem Max
W tym momencie nie trudno wyobrazić sobie, że jeśli chcemy stworzyć 100 użytkowników/postów/jakichkolwiek innych danych, to dzięki użyciu programowania obiektowego oraz klas, jest to dużo łatwiejsze.
Społeczność programistów jest zgodna co do tego, że programowanie obiektowe jest jednym z najlepszych paradygmatów programowania.
Programowanie obiektowe jest tylko jednym z wielu paradygmatów programowania.
Podsumowanie
Programowanie obiektowe to paradygmat programowania, który dąży do tego, żeby wszystko w programie było obiektem. Obiekt to zbiór danych oraz metod, które na tych danych operują. Programowanie obiektowe pozwala na tworzenie bardziej złożonych struktur danych, które są łatwiejsze w utrzymaniu.
Dzięki temu, że wszystko jest obiektem, możemy łatwo tworzyć nowe obiekty, które dziedziczą po innych obiektach. Mówiąc prościej, kod napisany korzystając z paradygmatów programowania obiektowego jest bardziej czytelny dla człowieka. Inne popularne paradygmaty to między innymi programowanie funkcyjne, programowanie proceduralne czy programowanie strukturalne.