JavaRush /Blog Java /Random-PL /Przerwa kawowa #166. Dlaczego w Javie potrzebna jest enka...

Przerwa kawowa #166. Dlaczego w Javie potrzebna jest enkapsulacja? Trzy sposoby korzystania z funkcji drukowania w Javie

Opublikowano w grupie Random-PL

Dlaczego w Javie potrzebna jest enkapsulacja?

Źródło: Użyj moich notatek W tym poście dowiesz się, dlaczego w programowaniu obiektowym potrzebna jest enkapsulacja. W artykule omówiono koncepcję jego działania oraz sposoby implementacji w języku Java. Przerwa kawowa #166.  Dlaczego w Javie potrzebna jest enkapsulacja?  Trzy sposoby korzystania z funkcji drukowania w Javie — 1

Co to jest enkapsulacja w Javie

Enkapsulacja to koncepcja w języku Java, która łączy dane i metody, które na nich działają, w jeden pakiet lub opakowanie. Mówiąc najprościej, enkapsulacja łączy zmienne i metody w jednej klasie.

Dlaczego potrzebujemy enkapsulacji w Javie?

  • Aby Twój kod był czysty i zorganizowany.
  • Dla lepszej kontroli dostępu do hermetyzowanych elementów członkowskich.
  • Aby lepiej zrozumieć kod.
Rozumiemy tę koncepcję na małym przykładzie:
class MyBankAccount {
    private int acc_number;
    private int acc_balance;

    public MyBankAccount(int acc_number, int acc_balance) {
        this.acc_number = acc_number;
        this.acc_balance = acc_balance;
    }

    public int printAccountBalance() {
        System.out.println("Balance: " + acc_balance);
    }

    public int printAccountNumber() {
        System.out.println("Account Number: " + acc_number);
    }

    public void depositMoney(int money) {
        acc_balance = acc_balance + money;
    }
}
Tutaj mamy klasę MyBankAccount z konstruktorem, dwiema zmiennymi i trzema metodami. Członkowie tej klasy są ze sobą spokrewnieni, więc należą do tej samej klasy. Klasa MyBankAccount hermetyzuje lub łączy zawartość klasy, a cały ten kod działa jak pojedyncza jednostka. Teraz już patrząc na nazwę klasy, czyli „MojeKontoBankowe”, możemy założyć, że posiada ona saldo rachunku oraz numer rachunku (które posiada jako zmienne). Konta bankowe są powiązane z transakcjami pieniężnymi, takimi jak wpłacanie pieniędzy, wyświetlanie sald kont i tak dalej. Transakcje te przeprowadzane są metodami odpowiadającymi powyższej klasie. Jak widzimy, poprawiło to czytelność i łatwość konserwacji kodu. Załóżmy, że mamy 100 klas, a każda klasa ma od 5 do 10 metod i prawie taką samą liczbę zmiennych. Dzięki enkapsulacji znacznie łatwiej jest nam znaleźć określone metody lub zmienne, po prostu zgadując, do jakiej klasy mogą należeć.

W jaki sposób koncepcja enkapsulacji może pomóc Ci w Twojej pracy?

Hermetyzacja w programowaniu ma kilka zalet, z których po prostu nie zdajemy sobie sprawy, dopóki nie zobaczymy ich w akcji. We współczesnym świecie wszystko jest w taki czy inny sposób cyfrowe i programowe. Istnieje wiele języków programowania, w których podczas tworzenia oprogramowania lub bibliotek programistycznych generowana jest ogromna ilość kodu. Wszystkie są w ten czy inny sposób hermetyzowane. Bez enkapsulacji programowanie byłoby bałaganem (szczególnie w branży oprogramowania). Hermetyzacja w Javie:
  • Pomaga lepiej i wyraźniej organizować kod.
  • Pozwala włożyć mniej wysiłku w utrzymanie dużej ilości kodu.
  • Zmniejsza złożoność zarządzania kodem.
  • Dzieli kod na części.
  • Poprawia czytelność.

Co by było, gdyby nie było enkapsulacji?

Istnieją języki programowania, które nie mają koncepcji enkapsulacji. Jednym z nich jest język programowania C. Nie ma w nim koncepcji enkapsulacji. Kod może być rozproszony po plikach, a każdy plik może mieć dowolną zmienną lub funkcję, która może, ale nie musi, być ze sobą powiązana. Powoduje to zamieszanie w zarządzaniu kodem i zwiększa złożoność. Bez enkapsulacji:
  • Kod może stać się zdezorganizowany lub zaśmiecony.
  • Zwiększa się złożoność utrzymania kodu.
  • Debugowanie kodu staje się trudniejsze.
  • Czytelność spada.
Mam nadzieję, że teraz lepiej rozumiesz enkapsulację i jej zastosowanie w programowaniu w języku Java. Dziękuję za przeczytanie.

Trzy sposoby korzystania z funkcji drukowania w Javie

Źródło: FreeCodeCamp Nie wszyscy programiści wiedzą o trzech różnych funkcjach/operatorach Print w Javie. Autor tego artykułu opowie o nich i pokaże, jak działają, na przykładach. Przerwa kawowa #166.  Dlaczego w Javie potrzebna jest enkapsulacja?  Trzy sposoby korzystania z funkcji drukowania w Javie — 2

Jak korzystać z funkcji println() w Javie

Funkcja println() dodaje nową linię po wydrukowaniu zawartej w niej wartości/danych. Tutaj przyrostek ln działa jak znak nowej linii \n . Spójrzmy na przykładowy kod:
public class Main{
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}
Jeśli nie jest jeszcze jasne, co dokładnie się dzieje, można to krótko wyjaśnić w następujący sposób. Kiedy drukujesz tylko jedną linię, otrzymasz następujący wynik:
Witaj świecie!
Teraz, jeśli spróbujesz wydrukować kilka różnych wyrażeń za pomocą println() , wyraźnie zobaczysz różnicę!
public class Main{
    public static void main(String[] args) {
        System.out.println("Hello World!");
        System.out.println("Welcome to freeCodeCamp");
    }
}
Jak widać, po wykonaniu pierwszej instrukcji print dodawany jest jeden znak nowej linii ( \n ). Otrzymujesz więc drugą instrukcję wydruku Witamy w freeCodeCamp w następnej linii. Cały wynik będzie wyglądał jak poniżej:
Witaj świecie! Witamy w freeCodeCamp
Ale czy nie ma sposobu na uniknięcie automatycznie wygenerowanego znaku nowej linii w funkcji drukowania ? Jeść! W takim przypadku musisz użyć instrukcji print() .

Jak korzystać z funkcji print() w Javie

Aby zademonstrować tę funkcję, posłużę się przykładem, który pomoże Ci od razu zobaczyć różnicę:
public class Main{
    public static void main(String[] args) {
        System.out.print("Hello World!");
        System.out.print("Welcome to freeCodeCamp");
    }
}
Jak widać, użyłem print zamiast println jak poprzednio. Instrukcja print nie dodaje dodatkowego \n jako znaku nowej linii po wykonaniu w niej zadania. Oznacza to, że na wyjściu nie pojawi się kolejna nowa linia, ale coś takiego:
Witaj świecie! Witamy w freeCodeCamp
Jeśli chcesz, możesz rozwiązać problem \n jak poniżej:
public class Main{
    public static void main(String[] args) {
        System.out.print("Hello World!\n");
        System.out.print("Welcome to freeCodeCamp");
    }
}
Tym razem \n będzie działać jako znak nowej linii i otrzymasz drugą linię. Oto wynik:
Witaj świecie! Witamy w freeCodeCamp
Możesz także wydrukować dwie linie za pomocą tylko jednej instrukcji print , jak pokazano poniżej:
public class Main{
    public static void main(String[] args) {
        System.out.print("Hello World!\nWelcome to freeCodeCamp");
    }
}
Dane wyjściowe będą takie same:
Witaj świecie! Witamy w freeCodeCamp

Jak korzystać z funkcji printf() w Javie

Funkcja printf() działa jak funkcja sformatowanego wydruku . Aby lepiej zrozumieć, oto dwa scenariusze: Scenariusz 1 . Twój przyjaciel Tommy chce, abyś wysłał mu e-mailem plik PDF. Możesz po prostu utworzyć wiadomość e-mail z wybranym tematem (np. Cześć Tommy, tu Jim). Możesz nawet pominąć treść wiadomości e-mail i wysłać pustą wiadomość e-mail zawierającą jedynie załącznik w formacie PDF. Scenariusz 2 . Nie mogłaś wczoraj przyjść na zajęcia. Twój nauczyciel poprosił Cię o podanie przyczyn nieobecności wraz z dowodami i przesłanie dokumentów e-mailem. Tutaj nie możesz wysłać listu do swojego profesora, tak jak to zrobiłeś do swojego przyjaciela Tommy'ego. Należy zachować pewną formalność i odpowiednią etykietę. Oznacza to, że w piśmie musisz wskazać formalny temat i wpisać niezbędne informacje w treści. Na koniec należy załączyć dokument do wiadomości e-mail po zmianie jego nazwy zgodnie z odpowiednią konwencją nazewnictwa. Chodzi o to, że musisz sformatować swój e-mail w sposób, który jest od Ciebie wymagany. Funkcja printf() pomaga nam w realizacji drugiego scenariusza. Jeśli chcemy określić konkretny format/styl wydruku, używamy funkcji printf() . Oto krótki przykład tego, jak to działa:
public class Main{
    public static void main(String[] args) {
        double value = 2.3897;
        System.out.println(value);
        System.out.printf("%.2f" , value);
    }
}
Tutaj deklaruję podwójną zmienną o nazwie wartość i przypisuję jej wartość 2,3897 . Teraz, gdy używam funkcji println(), wypisuje całą wartość z czterema cyframi po punkcie podstawy. Oto wynik:
2,3897 2,39
Następnie, gdy użyję funkcji printf() , mogę zmienić strumień wyjściowy tak, aby funkcja wydrukowała wartość. Tutaj mówię funkcji, że chcę, aby po punkcie podstawy wyszły dokładnie dwie cyfry. Zatem funkcja wypisuje wartość zaokrągloną do dwóch cyfr po punkcie podstawy. To tylko jeden ze sposobów użycia funkcji printf() . Należy pamiętać, że ma on wiele zastosowań w języku Java.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION