Co to jest Abstraccja w Java? (z przykładem)

⚡ Inteligentne podsumowanie

Dane abs.traccja w Java jest obiektowo zorientowaną koncepcją, która pokazuje tylko istotne atrybuty i ukrywa zbędne szczegóły, redukując złożoność poprzez abstraczajęcia i brzuchtracmetody t, różniące się od enkapsulacji i wspierające projekty wielokrotnego użytku i łatwe w utrzymaniu w wielu aplikacjach.

  • 🎭 AbstracDefinicja: Wyświetla tylko niezbędne atrybuty i ukrywa przed użytkownikiem zbędne szczegóły implementacji.
  • 🏦 Prawdziwy przykład: Aplikacja bankowa wybiera tylko istotne dane klienta, które stają się danymi podstawowymi, nadającymi się do ponownego wykorzystania.
  • 🆚 Abstraccja a enkapsulacja: Abstraccja rozwiązuje problemy na poziomie projektowania; hermetyzacja zajmuje się implementacją poprzez wiązanie kodu i danych.
  • 🧱 AbstracKlasa: Zawiera co najmniej jeden mięsień brzuchatracmetoda t, nie może być instancjonowana i może mieszać abstract i konkretne metody.
  • 📐 AbstracMetoda t: Deklaruje tylko podpis, bez treści i musi zostać zaimplementowany przez podklasy.
  • 🔒 Ostatnie słowo kluczowe: Klasy końcowej nie można dziedziczyć, metody końcowej nie można zastąpić, a zmienna końcowa jest stała.

Dane abs.traccja w Java

Co to jest Abstraccja w Java?

Abstraccja to koncepcja programowania obiektowego, która „pokazuje” tylko istotne atrybuty i „ukrywa” zbędne informacje. Głównym celem abstracukrywanie przed użytkownikami niepotrzebnych szczegółów. AbstracMetoda ta polega na wybieraniu danych z większej puli, aby wyświetlić użytkownikowi tylko istotne szczegóły obiektu. Pomaga to zmniejszyć złożoność i nakład pracy w programowaniu. Jest to jedna z najważniejszych koncepcji programowania obiektowego (OOP).

Kliknij w tym miejscu jeśli film nie jest dostępny

Poćwiczmy mięśnie brzuchatraccja w programach obiektowych z przykładem:

Załóżmy, że chcesz utworzyć aplikację bankową i poproszono cię o zebranie wszystkich informacji o twoim kliencie. Istnieje prawdopodobieństwo, że znajdziesz następujące informacje o kliencie

Abstraccja w Java
Abstraccja w Java

Jednak nie wszystkie powyższe informacje są wymagane do utworzenia aplikacji bankowej. Dlatego musisz wybrać tylko przydatne informacje dla swojego aplikacja bankowa z tego puli. Dane takie jak imię i nazwisko, adres, informacje podatkowe itp. mają sens w przypadku aplikacji bankowej, która jest systemem Abs.tracprzykład cji w programach obiektowych

Abstraccja w Java

Ponieważ pobraliśmy/usunęliśmy/wybraliśmy informacje o kliencie z większego zbioru, proces ten nazywa się Abstraccja w OOP. Jednakże te same informacje raztracTed może być używany w szerokim zakresie aplikacji. Na przykład, te same dane można wykorzystać do wniosku o przyjęcie do szpitala, wniosku o pracę w portalu, rządowej bazy danych itp., z niewielkimi modyfikacjami lub bez nich. W ten sposób stają się one Twoimi danymi podstawowymi. To zaleta Abs.traccja w obiektach programistycznych.

Różnica między Abstraccja i enkapsulacja

Abstraccja Kapsułkowanie
AbstracTechnika programowania obiektowego rozwiązuje problemy na poziomie projektowania. Enkapsulacja rozwiązuje ten poziom implementacji.
AbstracIstota programowania polega na ukrywaniu niepożądanych szczegółów, a jednocześnie pokazywaniu najważniejszych informacji. Hermetyzacja oznacza powiązanie kodu i danych w jedną całość.
Dane abs.traccja w Java pozwala skupić się na tym, co musi zawierać obiekt informacyjny Kapsułkowanie oznacza ukrycie wewnętrznych szczegółów lub mechanizmów działania obiektu ze względów bezpieczeństwa.

Różnica między AbstracKlasa t i interfejs

AbstracKlasa t Interfejs
Mięśnie brzuchatracKlasa t może mieć oba abstract i nie-abstracmetody t. Interfejs może mieć tylko abstracmetody t.
Nie obsługuje wielokrotnego dziedziczenia. Obsługuje wielokrotne dziedziczenie.
Może zapewnić implementację interfejsu. Nie może zapewnić wdrożenia abstracklasa t.
Mięśnie brzuchatracKlasa t może mieć ochronę i abstract metody publiczne. Interfejs może mieć tylko publiczne abstracmetody t.
Mięśnie brzuchatracKlasa t może mieć zmienną finalną, statyczną lub statyczną finalną z dowolnym specyfikatorem dostępu. Interfejs może mieć tylko publiczną statyczną zmienną końcową.

Co to jest AbstracKlasa t?

ABSTRACKLASA T jest rodzajem zajęć Java, które deklarują jeden lub więcej abstracmetody t. Klasy te mogą mieć wartości abstracmetody t, jak i metody konkretne. Normalna klasa nie może mieć metod abs.tracmetody t. AbstracKlasa t to klasa zawierająca co najmniej jeden element abstracMetoda t. Możemy zrozumieć tę koncepcję poprzez przykład kształtu w Javie.

Rozważ następującą hierarchię klas składającą się z klasy Shape, która jest dziedziczona przez trzy klasy Rectangle, Circle i Triangle. Klasa Shape została utworzona, aby zaoszczędzić na wspólnych atrybutach i metodach współdzielonych przez trzy klasy Rectangle, Circle i Triangle. calculatorArea() jest jedną z takich metod współdzielonych przez wszystkie trzy klasy podrzędne i obecną w klasie Shape.

AbstracKlasa t w Java

Kształt brzuchatracPrzykład

Załóżmy teraz, że piszesz kod, aby utworzyć obiekty dla klas przedstawionych powyżej. Obserwujmy, jak te obiekty będą wyglądać w praktycznym świecie. Obiekt klasy prostokąt nada prostokątowi kształt, który tak powszechnie obserwujemy w życiu codziennym.

AbstracKlasa t

Obiekt trójkąta klasowego da trójkąt, znowu powszechny codzienny kształt.

AbstracKlasa t

Ale jak wyglądałby obiekt Class Shape w praktycznym świecie?

AbstracKlasa t

Jeśli zauważysz, że klasa Shape służy nasz cel osiągnięcia dziedzictwo i polimorfizm. Ale nie został zbudowany do tworzenia instancji. Takie klasy można oznaczyć etykietami Abstrakcja. Mięśnie brzuchatracNie można utworzyć instancji klasy Java.

Składnia:

abstract class Shape{
	// code
}

Możliwe, że NIE oznaczysz klasy Shape jako Abstract, a następnie utwórz jego instancję. Jednak taki obiekt nie będzie miał zastosowania w kodzie i stworzy potencjalne ryzyko błędów. Dlatego nie jest to pożądane.

Co to są mięśnie brzucha?tracMetody t w Java?

ABSTRACMETODA T in Java, to metoda, która zawiera tylko definicję metody, ale nie zawiera implementacji. Metoda bez ciała jest znana jako Abs.tracMetoda t. Musi być zadeklarowana w abstracKlasa t. Mięśnie brzuchatracMetoda t nigdy nie będzie ostateczna, ponieważ abstracklasa t musi wdrożyć wszystkie elementy abstracmetody t.

Jak wszyscy wiemy, wzór na obliczenie pola prostokąta, koła i trójkąta jest inny. Metoda obliczArea() będzie musiała zostać zastąpiona przez klasy dziedziczące. Nie ma sensu definiować tego w klasie Shape, ale musimy się upewnić, że wszystkie klasy dziedziczące mają tę metodę.

Takie metody można nazwać abstract.

Składnia:

abstract public void calculateArea();

Dla abstracMetoda t nie wymaga żadnej implementacji. Zdefiniowany jest tylko podpis metody.

Abstraccja Code Przykład

abstract class Shape{
  abstract void calculateArea();
}
 class guru99 extends Shape{
void calculateArea(){System.out.println("Area of Shape");}
public static void main(String args[]){
 Shape obj = new guru99();
 obj.calculateArea();
}
}

Zalety mięśni brzuchatraccja

  • Główną korzyścią ze stosowania Abstraccja w Programowanie polega na tym, że pozwala zgrupować kilka powiązanych klas jako rodzeństwo.
  • AbstracUproszczenie programowania obiektowego pomaga zredukować złożoność procesu projektowania i wdrażania oprogramowania.

Ostateczne słowo kluczowe w Java

Ostatni modyfikator dotyczy klas, metod i zmiennych. Znaczenie słowa final różni się w zależności od kontekstu, ale podstawowa idea jest taka sama.

  • Klasy końcowej nie można dziedziczyć
  • Zmienna końcowa staje się stałą i nie można zmienić jej wartości.
  • Nie można zastąpić metody końcowej. Odbywa się to ze względów bezpieczeństwa, a metody te służą do optymalizacji.

Przykład :- Aby nauczyć się mięśni brzuchatract i końcowe słowa kluczowe

Krok 1) Skopiuj poniższy kod do edytora.

abstract class Shape{
   final int b = 20;
   public void display(){
     System.out.println("This is display method");
   }
   abstract public void calculateArea();
}

public class Rectangle extends Shape{
   public static void main(String args[]){
      Rectangle obj = new Rectangle();
      obj.display();
     //obj.b=200;
  }
  //public void calculateArea(){}
}

Krok 2) Zapisz, skompiluj i uruchom kod.

Krok 3) Błąd =? AbstracMetoda t nie jest zaimplementowana w klasie Rectangle. Aby rozwiązać ten problem, usuń komentarz z wiersza nr 15.

Krok 4) Odkomentuj linię nr 13. Zapisz i skompiluj kod.

Krok 5) Błąd =? zmienna b jest ostateczna

Kiedy stosować AbstracMetody i AbstracKlasa t?

AbstracMetody t są deklarowane głównie w miejscach, gdzie dwie lub więcej podklas wykonuje to samo zadanie na różne sposoby, za pośrednictwem różnych implementacji. Rozszerza to również te same Abs.tracklasa t i oferuje różne implementacje abstracmetody t.

AbstracKlasy t pomagają opisać ogólne typy zachowań i hierarchię klas programowania obiektowego. Opisują również podklasy, aby zapewnić szczegóły implementacji abs.tracklasa t.

FAQ

Java zapewnia dwa rodzaje mięśni brzuchatraccja: dane abstraccja, osiągnięta dzięki abstraczajęcia t (częściowe abstraccja) i pełny brzuchtraccja, osiągnięta za pomocą interfejsów. Oba ukrywają szczegóły implementacji i ujawniają tylko niezbędne funkcje.

Tak. Mięśnie brzuchatracKlasa t może mieć konstruktor, który jest wywoływany podczas tworzenia obiektu podklasy. Służy on do inicjalizacji wspólnych pól współdzielonych przez dziedziczące podklasy.

Mięśnie brzuchatracNie można utworzyć instancji klasy t, ponieważ może ona zawierać wartości abstracMetody te nie są implementowane. Istnieją po to, by je dziedziczyć, co pozwala podklasom na dostarczanie konkretnych implementacji tych metod.

Narzędzia AI stosują abstraccja poprzez generowanie abstracKlasy i interfejsy t, rekomendując, które szczegóły należy ukryć, oraz refaktoryzując kod w celu zmniejszenia złożoności. Pomaga to programistom projektować czystsze i łatwiejsze w utrzymaniu modele obiektów.

Tak. Asystenci kodujący AI mogą tworzyć abstracklasy t, zdefiniuj abstracmetody t i podklasy szkieletowe z wymaganymi implementacjami, helping początkujący stosują ćwiczenia brzuchatracpoprawnie w obiektowo zorientowanym Java programy.

Podsumuj ten post następująco: