Skocz do zawartości
  • 0

Działanie Interface


Cymiek

Pytanie

Hej mam pytanko dotyczące Javy o interfejsy, bo nie wiem za bardzo po co sie je stosuje. Wiem, że dają np. polimorfizm, czyli mogę dodać różne obiekty implementujące dany interface do np. jednej listy. I tu okej widzę zastawanie do tego, ale widziałem w innych pluginach, że jest wykorzystywane, podczas gdy mamy 2 klasy MysqlDatabaseConnection i MongoDbDatabaseConnection i one mają metody connect disconnect itp i implementują interface DataBaseConnection i później sprawdzam przy włączaniu pluginu, jaka baza danych jest preferowana w configu i się z nią łącze. Tylko po co mi ten interface skoro mógłbym zrobić dokładnie to samo bez niego?

Odnośnik do komentarza
https://skript.pl/temat/54504-dzia%C5%82anie-interface/
Udostępnij na innych stronach

2 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

W pluginach, interfejsy często są wykorzystywane do abstrakcyjnego opisu konkretnych funkcjonalności w grze, na przykład połączenia z bazą danych, jak w twoim przypadku, czy też implementacji różnych rodzajów graczy.

Korzystanie z interfejsów w pluginach Minecraft pozwala na łatwiejsze rozszerzanie funkcjonalności, zmiany w implementacji lub dodawanie nowych funkcjonalności bez wpływu na działanie innych elementów. Dzięki temu, interfejsy w Minecraft są używane do zastosowań, podobnych do tych w innych aplikacjach - do abstrakcyjnego opisu funkcjonalności oraz łatwiejszej wymiany i rozwoju kodu.

Odnośnik do komentarza
https://skript.pl/temat/54504-dzia%C5%82anie-interface/#findComment-330569
Udostępnij na innych stronach

  • 0

Ten temat został przeniesiony.

 

W skrócie, zamiast tego:

Object database = (config.getString("db.type").equals("mysql") ? new MysqlConnection() : config.getString("db.type").equals("mongodb") ? new MongodbConnection() : null);
if (database == null) return;
if (database instanceOf MysqlConnection mysqlConnection)
  mysqlConnection.connect();
else if (database instanceOf MongodbConnection mongodbConnection)
  mongodbConnection.connect();

Możesz zrobić to:

Connection database = (config.getString("db.type").equals("mysql") ? new MysqlConnection() : config.getString("db.type").equals("mongodb") ? new MongodbConnection() : null);
if (database == null) return;
database.connect();

Czyli po prostu interfejsy pomagają uprościć kod oraz pokazać jakie metody dana klasa (implementująca ten interfejs) musi mieć
Na powyższych przykładach klasy `MysqlConnection` i `MongodbConnection` implementują interfejs `Connection`, więc muszą mieć metodę `connect()`

Odnośnik do komentarza
https://skript.pl/temat/54504-dzia%C5%82anie-interface/#findComment-330620
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...