Heim  >  Artikel  >  Java  >  Abstraktion in Java

Abstraktion in Java

WBOY
WBOYOriginal
2024-08-30 15:57:18984Durchsuche

In der Java-Technologie, die hauptsächlich mit den Oops-Konzepten erstellt wurde, wird Abstraktion auch eines der Oops-Konzepte (objektorientiertes Programmiersystem) als Prozess des Ausblendens der Daten bezeichnet, d. h. es werden einige Details nicht angezeigt, sondern mit dem Benutzerbildschirm nur für verwandte Informationen, die sich auf ausgeblendete Daten beziehen. Bei der Abstraktion in Java können wir diese Konzepte mit Hilfe von „abstrakten Klassen und Schnittstellen“ verwenden. Diese beiden Typen werden gleichzeitig in Java verwendet. Alternativ können wir je nach Benutzeranforderung jeden der Typen verwenden, manchmal werden beide Prozesse verwendet in den Programmen verwendet.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax

Die Abstraktion wird für zwei verschiedene Arten von Syntax verwendet, die in den Java-Programmen verwendet werden.

import packages;
abstract class names
{
-----some logic codes---
}
interface  names
{
----Some logic codes----
}

Die oben genannten Codes sind die grundlegende Syntax für die anwendbare Abstraktion in Java-Programmen. Wenn wir die abstrakte Klasse verwenden, verwendet sie sowohl die abstrakten als auch die nicht-abstrakten Methoden, aber die Schnittstelle akzeptiert nur nicht-abstrakte Methoden. Es gibt einige ähnliche Unterschiede zwischen diesen beiden Konzepten.

Wie verwende ich Abstraktion in Java?

In der Abstraktion werden unerwünschte Details im Java-Objekt ausgeblendet. Es werden nur relevante Informationen zum Thema angezeigt. Am häufigsten wird es mit der Java-Sammlungsschnittstelle namens Map verglichen. In der Map-Schnittstelle gibt es abgeleitete Klassen wie Hashmap, in denen die Schlüsselwertpaare gespeichert werden Die Benutzerdaten verwenden einige Methoden wie die Methoden get() und put(), um die Daten zu speichern und vom Backend abzurufen.

Hauptsächlich bietet die Abstraktion zwei verschiedene Möglichkeiten: 1. Datenabstraktion und 2. Kontrollabstraktion. In der Datenabstraktion werden schwierige Datentypen erstellt und einige nützliche Inhalte, einschließlich Datentypen, auf dem Bildschirm angezeigt. Bei der Kontrollabstraktion erfolgt das Schreiben einiger Daten in anderen Programmiersprachen in verschiedenen Szenarien mit mehreren Schreibvorgängen für die Codes zum Speichern und Abrufen der Daten, sodass diese Datentypen identifiziert und mit einer einzigen Arbeit kombiniert werden sollen als Kontrollabstraktion.

Während wir die Schnittstellentypen verwenden, um die Abstraktion zu erreichen, bedeutet dies, dass diese höchstwahrscheinlich erreicht werden muss, in abstrakten Klassen jedoch nicht vollständig im Abstraktionsprozess erreicht werden muss, muss sie teilweise abgeschlossen sein. Wenn wir eine abstrakte Klasse verwenden, können wir keine Instanz dieser Klassen erstellen, wenn wir sie vollständig für die Instanzen verwenden oder diese Klassen konkretisieren möchten, indem wir sie auf sie erweitern. Mithilfe der von uns deklarierten Abstraktion kann die Implementierung der Methoden variiert werden, während wir den Operator „new“ zum Erstellen einer Instanz der abstrakten Klasse verwenden, was zu einem Kompilierungsfehler führt.

Beispiele für Abstraktion in Java

Hier sind die folgenden Beispiele:

Beispiel #1

Code:

public abstract class Main {
private String names;
private String city;
public Main(String nm, String cty){
this.names=nm;
this.city=cty;
}
public abstract void work();
@Override
public String toString(){
return "Names="+this.names+"::City="+this.city;
}
public void changeName(String newNames) {
this.names = newNames;
}
}
public class ClientMain extends Main {
private int empId;
public ClientMain(String nm, String cty, int id) {
super(nm, cty);
this.empId=id;
}
@Override
public void work() {
if(empId == 0){
System.<em>out</em>.println("Invalid name");
}else{
System.<em>out</em>.println("Employees List!!");
}
}
public static void main(String args[]){
//coding in terms of abstract classes
Main m = new ClientMain("siva","tirupur",1);
Main m1 = new ClientMain("raman","chennai",234);
m.work();
m1.work();
//using method implemented in abstract class - inheritance
m1.changeName("Sivaraman");
System.<em>out</em>.println(m1.toString());
}
}

Ausgabe:

Abstraktion in Java

Beispiel #2

Code:

interface Animals {
public void animalSounds();
public void sleep();
}
class Sample implements Animals {
public void animalSounds() {
System.<em>out</em>.println("Animal Sounds");
}
public void sleep() {
System.<em>out</em>.println("Beep");
}
}
class ClientMain {
public static void main(String[] args) {
Sample s = new Sample();
s.animalSounds();
s.sleep();
}
}

Ausgabe:

Abstraktion in Java

Beispiel #3

Code:

@FunctionalInterface
interface SquareofNumbers
{
int numbers(int x);
}
class ClientMain
{
public static void main(String args[])
{
int a = 6;
SquareofNumbers  s = (int i)->i*i;
int result = s.numbers(a);
System.<em>out</em>.println(result);
}
}

Ausgabe:

Abstraktion in Java

In den obigen drei Beispielen haben wir grundlegende Verwendungen abstrakter Klassen und Schnittstellen zur Implementierung der Abstraktion in der Java-Anwendung verwendet. Im letzten Beispiel haben wir das Konzept der sogenannten Funktionsschnittstelle verwendet, das in Java zum Quadrieren der angegebenen Zahlen verwendet wird. Die funktionale Schnittstelle ist dieselbe wie das Schnittstellenkonzept, aber dadurch, dass es nicht mehr als eine abstrakte Methode im Programm zulässt. Wenn wir mehr als eine abstrakte Methode verwenden, wird ein Fehler wie „unerwartete @funktionale Schnittstellenannotation“ ausgegeben, während wir eine funktionale Schnittstelle verwenden. Wir deklarieren auch die Annotation Es ist sehr hilfreich für die Daten zum Datenkonzept, das heißt, während wir die Metadatentechnologie in Java benötigen, haben wir diese Art von Technologie namens Annotation verwendet und außerdem haben wir ein anderes Konzept namens Lambda-Ausdrücke verwendet, das wir im letzten Beispiel dafür verwendet haben Reduzieren Sie den Coderaum, sodass die Redundanz der Codes sehr einfach ist und die Komplexität der Programme ebenfalls geringer ist. Dies erleichtert das Schreiben komplexer Codierungen.

Wenn wir eine der Methoden in der Klasse definiert haben, sollten wir die Klasse auch als abstrakt deklarieren. Wenn wir die abstrakte Klasse erweitern und sie in einer der Methoden in den inneren Klassen verwenden, müssen wir vorher alle Methoden der Klasse implementieren Abstrakte Klassen in der Java-Technologie: Wir sind nicht in der Lage, die Instanz der abstrakten Klassen zu erstellen. Wir können die abstrakte Klasse nicht als endgültige Zugriffsmodifikatoren oder Schlüsselwörter in Java deklarieren, denn wenn wir final in einer abstrakten Klasse oder einer der Methoden in der Klasse verwenden, ist dies möglich im gesamten Ausführungsprozess der Anwendungen nicht verändert werden. Private Modifikatoren sind in Abstraction ebenfalls nicht zulässig. Sie wirken sich auf die Vererbung der Eltern-Kind-Beziehung aus. Dies sollte in den Abstract-Klassen betroffen sein, da die Funktionen/Methoden für die Unterklassen nicht zulässig sind.

Fazit

Die oben genannten Konzepte der Abstraktion sind grundlegende Verständnisse des Oops, während wir dasselbe in der Java-Technologie implementieren. Es sollte mit den Schnittstellen und der abstrakten Klasse verwendet werden, um die Abstraktion zu erreichen, aber in den neuesten Java-Versionen kann es je nach den neuen Funktionen variieren .

Das obige ist der detaillierte Inhalt vonAbstraktion in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Zusammenhalt in JavaNächster Artikel:Zusammenhalt in Java