Blog Dla Młodszych Programistów C#/.NET

9 czerwca 2020
W ostatnim czasie dostałem kilka wiadomości od czytelników bloga, to znaczy pytań na temat tego, na czym polega programowanie obiektowe. Chcą zostać programistami, znają już podstawy programowania, ale piszą o tym, że ciężko im zrozumieć ważne zagadnienia z programowania obiektowego. To znaczy, niby wiedzą w teorii co to jest, ale nie widzą zastosowania praktycznego. Dlatego właśnie w tym krótkim artykule wprowadzę Cię do głównych zasad programowania obiektowego. Niestety bez dobrej znajomości tego tematu, nie zostaniesz młodszym programistą, ponieważ na rozmowach kwalifikacyjnych Twoja wiedza na ten temat zostanie zweryfikowana. Także zaczniemy od początku, to znaczy co to jest programowanie obiektowe, klasa, obiekt, konstruktor, a skończymy na 4 głównych mechanizmach, to znaczy dziedziczenie, polimorfizm, abstrakcja i hermetyzacja.

Programowanie Obiektowe w C# - Najważniejsze Zasady, Które Musisz Poznać, Jeżeli Chcesz Zostać Programistą .NET


Co to jest programowanie obiektowe?


Programowanie obiektowe, często też nazywane w skrócie OOP (Object Oriented Programming), jest głównie skupione na obiektach, czyli instancjach klasy, oraz relacjach między nimi. Programy definiowane są właśnie przy użyciu obiektów, które mają różne stany i zachowania. Programowanie obiektowe ułatwia pracę nad kodem, rozszerzanie aplikacji, ponieważ klasy mogą być wielokrotnie używane. Mają także lepszą organizację kodu. Dzięki obiektom możemy modularyzować kod, to znaczy dzielić go na małe kawałki, takie klocki, które możemy ze sobą układać. Obecnie najpopularniejsze języki obiektowe to C#, Java, C++, Python.


Klasa i obiekt


Klasa jest to definicja obiektu, opisuje stany oraz zachowania obiektu. Obiekt jest to instancja klasy, jego zachowanie zostały zdefiniowane w klasie. Myślę, że najlepiej będzie Ci to zrozumieć na przykładzie.


Przykład klasy w C#


public class Employee
{
    private string _name;

    public string Position { get; set; }

    public Employee(string name)
    {
        _name = name;
    }

    public void Work()
    {
        //logika
    }
}

public class Program
{    
    static void Main(string[] args)
    {
        var employee = new Employee("Jan Kowalski");
        employee.Position = "Młodszy Programista C#";
        employee.Work();
    }
}

W powyższym przykładzie zdefiniowana została klasa Employee. W metodzie Main, klasy Program został utworzony obiekt, nowa instancja tej klasy, to znaczy konkretny egzemplarz, którego zachowania zostały zdefiniowane w klasie. Zachowania, to znaczy metody, w naszym przykładzie jest to metoda Work. Może mieć również różne stany, to znaczy pola, czyli właściwości. W tym przypadku nazwa oraz stanowisko. Także został stworzony nowy pracownik o nazwie Jan Kowalski, który pracuje na stanowisku Młodszego Programista C#, a następnie wykonuje pracę, czyli logikę zawartą w metodzie Work. Czyli klasa jest to taki jakby szablon, na podstawie którego możemy tworzyć nowe obiekty. Gdy już mamy klasę, to na jej podstawie możemy tworzyć wiele obiektów.


Konstruktor


W klasie oprócz pola _name, właściwości Position oraz metody Work, mamy również konstruktor, który przyjmuje w tym przypadku jeden parametr - nazwę pracownika. Konstruktor jest to specjalna metoda, o takiej samej nazwie co klasa. Nie zawiera w sygnaturze typu zwracanego. Konstruktor jest wywoływany przy utworzeniu obiektu. Konstruktorów może być wiele, jeżeli mają inne sygnatury, ale może też nie być żadnego, w takim przypadku uruchomiony zostaje domyślnie pusty konstruktor.


Filary programowania obiektowego


Istnieją 4 filary, na których opiera się całe programowanie obiektowe, są one dość istotne, dlatego dla każdego z nich napisałem w ostatnim czasie dedykowany artykuł na moim blogu. Koniecznie się z nimi zapoznaj:
  • Dziedziczenie, czyli rodzaj relacji pomiędzy dwoma klasami, która pozwala jednemu z nich dziedziczyć kod drugiego.
  • Polimorfizm, możliwość zapisywania jednej metody pod różnymi postaciami.
  • Abstrakcja, operowanie na obiektach bez znajomości szczegółów ich implementacji.
  • Hermetyzacja (enkapsulacja), czyli ukrywanie pewnych danych, tak aby zabezpieczyć się przed nieprawidłowym działaniem.


PODSUMOWANIE:


W dzisiejszym krótkim artykule starałem się podsumować cykl ostatnich artykułów na temat 4 filarów programowania obiektowego w C#. Przedstawiłem Ci jeszcze, czym dokładnie jest samo programowanie obiektowe. Mam nadzieje, że po tych artykułach, znasz już podstawowe zagadnienia, często używane w programowaniu. Jeżeli masz jeszcze jakieś pytania lub uważasz, że temat nie został wystarczająco rozwinięty, to poinformuj proszę mnie o tym mailowo, lub w komentarzu. Pamiętaj, że tematy związane z OOP musisz znać, jeżeli chcesz zostać młodszym programistą .NET.

Poprzedni artykuł - 7 Najlepszych Blogów o Programowaniu w 2020.
Następny artykuł - Jaki Język Programowania Wybrać? Konkretna Odpowiedź.
Autor artykułu:
Kazimierz Szpin
Kazimierz Szpin
Programista C#/.NET. Głównie pisze aplikacje w ASP.NET MVC, WPF oraz Windows Forms. Specjalizuje się w testach jednostkowych.
Autor bloga ModestProgrammer.pl
Dodaj komentarz
© Copyright 2020 modestprogrammer.pl. Wszelkie prawa zastrzeżone. Polityka prywatności. Design by Kazimierz Szpin