Elementy modelu obiektowego Java: klasa abstrakcyjna, interfejs

Główną ideą klasy abstrakcyjnej jest następująca teza: czasami wymagane zajęcia nie są gotowe, ale w „surowej” postaci. Takich przedmiotów nie można używać bezpośrednio (tworzenie instancji).

Co to jest klasa abstrakcyjna Java

Rozważmy inny przykład. W pakiecie Java.util znajduje się klasa abstrakcyjna Java. Tęsknił konkretny kalendarz używany, na przykład, w Europie Zachodniej i Wschodniej, Chinach, Korei Północnej, Tajlandii itd. D. Ale ma wiele przydatnych funkcji, takich jak dodanie kilku dni do określonej daty, funkcje te są wymagane dla każdego - nieograniczona realizacja kalendarza. Nie można wygenerować instancji z klasy abstrakcyjnej.


klasa abstrakcyjna abstrakcyjne metody Java

Załóżmy, że trzeba opracować niektóre elementy graficzne, takie jak kształty geometryczne. Koło, prostokąt, gwiazdy i tak dalej D. I nie jest kontenerem, że remisy Każdy występ jest inny składnik, ponieważ odpowiedni sposób (nawet jeśli to się nazywa farby) jest realizowana w różny sposób. Jednak każdy komponent ma wiele wspólnego: dane powinny być wpisane w prostokąt może mieć kolor, widzialne i niewidzialne, i tak dalej E. Że chcesz utworzyć klasę nadrzędną dla wszystkich tych elementów, z których każdy komponent będzie przestrzegać ogólnych właściwości..
Ale jak działa metoda malowania? W końcu klasa nadrzędna nie ma reprezentacji wizualnej. Jeśli zadeklarujesz metodę malowania w każdej klasie samodzielnie, będzie musiał przeanalizować, który składnik jest przetwarzany, a następnie wykonaćprzynosząc typ Dlatego metoda musi zostać zadeklarowana jako abstrakcyjna w klasie nadrzędnej: ustawić tytuł metody bez ciała. Ciało każdej klasy pochodnej będzie opisywać własne. W języku Java klasa abstrakcyjna może zawierać metody abstrakcyjne.


Jeśli w klasie są metody abstrakcyjne, wówczas klasa jest abstrakcyjna. Przed klasą słów słowo kluczowe abstrakcyjne jest umieszczane również w tytule metody. Po tytule tej metody musisz ustawić średnik. W języku Java klasa abstrakcyjna nie może generować instancji. Jeśli chcemy zabronić ich tworzenia, nawet jeśli nie ma żadnych abstrakcyjnych metod w klasie, wówczas klasa może zostać uznana za abstrakcyjną. Ale jeśli w klasie jest przynajmniej jedna abstrakcyjna metoda, klasa powinna być abstrakcyjna. Niemożliwe jest, aby klasa była zarówno abstrakcyjna, jak i ostateczna, a także metoda. Metoda nie może być abstrakcyjna, prywatna, statyczna, natywna. Aby spadkobiercy klas mogli zostać uznani za nie abstrakcyjnych i stworzyć ich kopie, muszą wdrożyć wszystkie abstrakcyjne metody ojca. Sama klasa może używać swoich abstrakcyjnych metod. Przykład:
  • klasa abstrakcyjna AClass {
  • publiczna metoda abstrakcji pustej (int a);
  • }
  • klasa BClass rozciąga AClass {
  • publiczna metoda nieważności (int a) {
  • //body
  • } [20 ] Zmienne typu klasa abstrakcyjna są dozwolone. Mogą odnosić się do nie abstrakcyjnego ucznia tej klasy lub mieć wartości puste.

    Interfejsy w Javie - alternatywa dla wielu dziedzin

    Java nie ma dziedziczenia wielokrotnego, ponieważ wtedy są pewne problemy. Klasa nie może dziedziczyć po kilku klasach. Ale może wdrożyć kilka interfejsów. Interfejsy i abstrakcyjne klasy Java są podobnymi koncepcjami,ale nie pasuje. Interfejs może być zadeklarowany jako publiczny, a następnie jest ona dostępna dla wszystkich, czy można pominąć społeczeństwu modyfikatora, to interfejs jest dostępny tylko w jego opakowaniu. Słowo kluczowe abstrakcyjne nie jest wymagane, ponieważ interfejs jest abstrakcyjny, więc można go określić.

    Deklaracja interfejsu

    To zaczyna się od pierwszego tytułu i hasła można wejść na giełdę, a następnie - interfejs słowo. Następnie można stosować rozszerzenia słów i listę interfejsów, z których dany może dziedziczyć. Nie wolno powtórzeń, a to jest niemożliwe, że postawa sprawia spadku kołową zależność. Potem pojawia się interfejs interfejsu, zamknięty w nawiasach klamrowych. W treści elementów interfejsu zadeklarowane są: stałe polowe i metody abstrakcyjne. Wszystkie pola są publicznym statycznym końcem - wszystkie te modyfikatory nie są wymagane. Wszystkie metody są uważane za publiczne streszczenie - te modyfikatory można również określić. Dość już mówi się o klasie abstrakcyjnej z interfejsu Java.
  • interfejsu publicznej AI rozciąga b, c, d {
  • //korpusu
  • }
  • Aby zadeklarować klasy następcy interfejs musi używać słowa implementuje:
  • klasy AClass narzędzi BI Cl DI {}
  • Oznacza to, że jeżeli reklama po klasie realizuje interfejsu podanej nazwy, klasy realizuje się. Spadkobiercy tej klasy dostają swoje żywioły, więc też to sobie uświadamiają. Zmienne typu interfejsu są również dozwolone. Mogą odnosić się do typu klasy, która implementuje ten interfejs, lub wartości null. Zmienne te mają wszystkie elementy klasy obiektów, ponieważ obiekty wygenerowane z klas, a one z kolei odziedziczył po klasieObiekt W tym artykule omówiliśmy niektóre elementy modelu obiektowego Java - klasy abstrakcyjne, metody abstrakcyjne i interfejsy.

    Powiązane publikacje