Klasy abstrakcyjne w pomóc użytkownikom w osiągnięciu abstrakcji, która jest najważniejszą praktyką programowania obiektowego stosowaną w procesie projektowania oprogramowania. W tym artykule omówimy terminologię klas abstrakcyjnych za pomocą następującego dokumentu.
- Co to są klasy abstrakcyjne w Javie?
- Dlaczego potrzebujemy klas abstrakcyjnych w Javie?
- Zasady używania klas abstrakcyjnych w Javie
- Sposoby osiągnięcia abstrakcji w Javie
- Składnia klas abstrakcyjnych
- Praktyczne przykłady klas abstrakcyjnych
- Różnica między interfejsem a klasą abstrakcyjną
Co to są klasy abstrakcyjne w Javie?
Klasy abstrakcyjne w pełnią rolę granicy między sposobem implementacji a jego funkcjonalnością. Służy do wymiany funkcjonalności między Beton członkowie klasy i Abstrakcyjny Klasa.
Klasy abstrakcyjne są uważane za te klasy, które ukrywają Implementacja metody szczegóły od użytkownika i pokaż tylko Funkcjonalność metod. Są deklarowane za pomocą słowa kluczowego abstrakcyjny . Te metody mogą obejmować Abstrakcyjny i Nie-abstrakcyjne metody w nich.
co to jest .format w Pythonie
Dlaczego potrzebujemy klas abstrakcyjnych w Javie?
Potrzebujemy klas abstrakcyjnych w Javie z następujących powodów:
- Obsługa klas abstrakcyjnych Dynamiczna rozdzielczość metody w czasie wykonywania
- Pomagają użytkownikom osiągnąć Luźne powiązanie
- Klasy abstrakcyjne oddzielają Definicja metody z dziedziczonych Podklasy
- Zapewniają Domyślna funkcjonalność określonej metody dla wszystkich podklas
- Klasy abstrakcyjne zapewniają Szablon dla przyszłych konkretnych zajęć
- Klasa abstrakcyjna pozwala Kod Możliwość ponownego użycia
Zasady używania klas abstrakcyjnych w Javie
Aby zaimplementować klasę abstrakcyjną w Javie, musimy przestrzegać zasad opisanych poniżej:
- Klasę abstrakcyjną należy zadeklarować przy użyciu rozszerzenia abstrakcyjny słowo kluczowe.
- Klasy abstrakcyjne mogą obejmować abstrakcyjny i nieabstrakcyjne metody.
- Klasa abstrakcyjna nie może być utworzony.
- Mogą zawierać konstruktorzy i statyczny metody.
- Klasa abstrakcyjna obejmuje finał metody.
Sposoby osiągnięcia abstrakcji w Javie
Proces abstrakcji w Javie można osiągnąć za pomocą następujących dwóch metod, jak wspomniano poniżej:
- Implementacja klasy abstrakcyjnej
- Implementowanie interfejsu
Składnia klas abstrakcyjnych
Składnia definiowania klas abstrakcyjnych i metod abstrakcyjnych jest następująca:
Klasa abstrakcyjna Edureka {}
Klasa abstrakcyjna Method ()
Praktyczne przykłady klas abstrakcyjnych
// Klasa abstrakcyjna
pakiet Abstract public abstract class Person {private String name private String gender public Person (String nm, String gen) {this.name = nm this.gender = gen} public abstract void Studying () @Override public String toString () {return ' Name = '+ this.name +' :: Gender = '+ this.gender}}
// Klasa studencka
pakiet Abstract public class Student extends Person {private int StudentID public Student (String nm, String gen, int id) {super (nm, gen) this.StudentID = id} @Override public void Studying () {if (StudentID == 0 ) {System.out.println ('Not Studying')} else {System.out.println ('Pursuing a Degree in Bachelor of Engineering')}} public static void main (String args []) {Person student = new Student ('Priya', 'Female', 0) Person student1 = new Student ('Karan', 'Male', 201021) Person student2 = new Student ('Kumari', 'Female', 101021) Person student3 = new Student (' John ',' Male ', 201661) student.Studying () student1.Studying () student2.Studying () student3.Studying () System.out.println (student.toString ()) System.out.println (student1.toString ()) System.out.println (student2.toString ()) System.out.println (student3.toString ())}}
Wynik:
różnica między rozszerzaniem a implementacją
Nie studiuję
Zdobywanie tytułu licencjata w dziedzinie inżynierii
Zdobywanie tytułu licencjata w dziedzinie inżynierii
Zdobywanie tytułu licencjata w dziedzinie inżynierii
Imię = Priya :: Płeć = Kobieta
Imię = Karan :: Płeć = Mężczyzna
Imię = Kumari :: Płeć = Kobieta
Imię = John :: Płeć = Mężczyzna
Różnica między interfejsem a klasą abstrakcyjną
Berło | Klasa abstrakcyjna |
Może mieć tylko metody abstrakcyjne | Może mieć metody abstrakcyjne i nieabstrakcyjne |
Ma tylko zmienne końcowe | Obejmuje zmienne niedokończone |
Zawiera tylko zmienne statyczne i końcowe | Posiada zmienne statyczne, niestatyczne, końcowe, niefinałowe |
Nie zaimplementuje klasy abstrakcyjnej | Potrafi zaimplementować interfejs |
Zaimplementowano za pomocą słowa kluczowego „implementuje” | Wdrożone za pomocą słowa kluczowego „extends” |
Może rozszerzyć tylko interfejs | Może rozszerzać klasy i interfejsy Java |
Członkowie są domyślnie publiczni | Członkowie mogą być prywatni i chronieni |
// Przykład klasy abstrakcyjnej
pakiet abstactVSinterface abstract class Shape {String objectName = '' Shape (String name) {this.objectName = name} abstract public double area () abstract public void draw ()} class Rectangle extends Shape {int length, width Rectangle (int length, int width, String name) {super (name) this.length = length this.width = width} @Override public void draw () {System.out.println ('Rectangle is drawn')} @Override public double area () {return (double) (length * width)}} class Circle extends Shape {double pi = 3.14 int radius Circle (int radius, String name) {super (name) this.radius = radius} @Override public void draw () { System.out.println ('Okrąg jest narysowany')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args ) {Shape rect = new Rectangle (20, 30, 'Rectangle') System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = new Circle (20, 'Cicle') System.out .println ('Pole koła to:' + circle.area ())}}
Wynik:
jak uzyskać dostęp do aws cli
Pole prostokąta: 600,0
Pole koła: 628,0
// Przykład interfejsu
pakiet absVSint interfejs Shape {void draw () double area ()} class Rectangle implementuje Shape {int length, width Rectangle (int length, int width) {this.length = length this.width = width} @Override public void draw () {System.out.println ('Prostokąt został narysowany')} @Override public double area () {return (double) (length * width)}} class Circle implements Shape {double pi = 3.14 int radius Circle (int radius) {this.radius = radius} @Override public void draw () {System.out.println ('Okrąg został narysowany')} @Override public double area () {return (double) ((pi * radius * radius) / 2)}} class Edureka {public static void main (String [] args) {Shape rect = new Rectangle (20, 30) System.out.println ('Area of rectangle:' + rect.area ()) Shape circle = new Circle (20) System.out.println ('Obszar koła:' + circle.area ())}}
Wynik:
Pole prostokąta: 600,0
Pole koła: 628,0
Tym samym dochodzimy do końca tego artykułu. Mam nadzieję, że zrozumiałeś znaczenie abstrakcji, składni, funkcjonalności, reguł abstrakcji w Javie i praktycznych przykładów z nimi związanych.
Teraz, gdy znasz już podstawy języka Java, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji Java, a także różnych struktur Java, takich jak Hibernate i Wiosna .
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego bloga „Abstract Classes in Java”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.