Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Java

Java - Objekt und Klassen

Java ist eine objektorientierte Sprache. Als Sprache mit objektorientiertem Merkmal unterstützt Java die folgenden grundlegenden Konzepte −

In diesem Kapitel werden wir uns die Konzepte anschauen - Klassen und Objekte.

Objekte in Java

Lassen Sie uns nun einen tiefen Blick darauf werfen, was Objekte sind. Wenn wir die reale Welt betrachten, können wir viele Objekte um uns herum finden, Autos, Hunde, Menschen usw. Alle diese Objekte haben einen Zustand und ein Verhalten.

Wenn wir einen Hund betrachten, dann ist sein Zustand - Name, Rasse, Farbe, und das Verhalten ist - bellen, mit dem Schwanz wedeln, rennen.

Wenn Sie das Softwareobjekt mit einem realen Objekt vergleichen, haben sie sehr ähnliche Eigenschaften.

Softwareobjekte haben auch einen Zustand und ein Verhalten. Der Zustand eines Softwareobjekts wird in Feldern gespeichert und das Verhalten wird über Methoden angezeigt.

In der Softwareentwicklung arbeiten Methoden also mit dem internen Zustand eines Objekts, und die Objekt-zu-Objekt-Kommunikation erfolgt über Methoden.

Klassen in Java

Eine Klasse ist ein Bauplan, aus dem einzelne Objekte erstellt werden.

Es folgt ein Beispiel einer Klasse.

Beispiel

public class Dog {
   String breed;
   int age;
   String color;

   void barking() {
   }

   void hungry() {
   }

   void sleeping() {
   }
}

Eine Klasse kann jeden der folgenden Variablentypen enthalten.

Eine Klasse kann eine beliebige Anzahl von Methoden haben, um auf den Wert verschiedener Arten von Methoden zuzugreifen. Im obigen Beispiel sind bellen(), hungrig() und schlafend() Methoden.

Im Folgenden sind einige der wichtigen Themen aufgeführt, die diskutiert werden müssen, wenn man sich mit Klassen der Java-Sprache befasst.

Konstruktoren

Bei der Diskussion über Klassen wäre eines der wichtigsten Unterthemen Konstruktoren. Jede Klasse hat einen Konstruktor. Wenn wir nicht explizit einen Konstruktor für eine Klasse schreiben, erstellt der Java-Compiler einen Standardkonstruktor für diese Klasse.

Jedes Mal, wenn ein neues Objekt erstellt wird, wird mindestens ein Konstruktor aufgerufen. Die Hauptregel von Konstruktoren ist, dass sie den gleichen Namen wie die Klasse haben sollten. Eine Klasse kann mehr als einen Konstruktor haben.

Es folgt ein Beispiel für einen Konstruktor −

Beispiel

public class Puppy {
   public Puppy() {
   }

   public Puppy(String name) {
      // This constructor has one parameter, name.
   }
}

Java unterstützt auch Singleton-Klassen, bei denen Sie nur eine Instanz einer Klasse erstellen können.

Hinweis − Wir haben zwei verschiedene Arten von Konstruktoren. Wir werden Konstruktoren in den folgenden Kapiteln ausführlich besprechen.

Erstellen eines Objekts

Wie bereits erwähnt, stellt eine Klasse die Blaupausen für Objekte bereit. Im Grunde wird also ein Objekt aus einer Klasse erstellt. In Java wird das Schlüsselwort new verwendet, um neue Objekte zu erstellen.

Beim Erstellen eines Objekts aus einer Klasse gibt es drei Schritte −

Es folgt ein Beispiel für die Erstellung eines Objekts −

Beispiel

Live-Demo
public class Puppy {
   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Passed Name is :" + name );
   }

   public static void main(String []args) {
      // Following statement would create an object myPuppy
      Puppy myPuppy = new Puppy( "tommy" );
   }
}

Wenn wir das obige Programm kompilieren und ausführen, wird es das folgende Ergebnis erzeugen −

Ausgabe

Passed Name is :tommy

Auf Instanzvariablen und Methoden zugreifen

Auf Instanzvariablen und Methoden wird über erstellte Objekte zugegriffen. Um auf eine Instanzvariable zuzugreifen, folgt der vollständig qualifizierte Pfad −

/* First create an object */
ObjectReference = new Constructor();

/* Now call a variable as follows */
ObjectReference.variableName;

/* Now you can call a class method as follows */
ObjectReference.MethodName();

Beispiel

Dieses Beispiel erklärt den Zugriff auf Instanzvariablen und Methoden einer Klasse.

Live-Demo
public class Puppy {
   int puppyAge;

   public Puppy(String name) {
      // This constructor has one parameter, name.
      System.out.println("Name chosen is :" + name );
   }

   public void setAge( int age ) {
      puppyAge = age;
   }

   public int getAge( ) {
      System.out.println("Puppy's age is :" + puppyAge );
      return puppyAge;
   }

   public static void main(String []args) {
      /* Object creation */
      Puppy myPuppy = new Puppy( "tommy" );

      /* Call class method to set puppy's age */
      myPuppy.setAge( 2 );

      /* Call another class method to get puppy's age */
      myPuppy.getAge( );

      /* You can access instance variable as follows as well */
      System.out.println("Variable Value :" + myPuppy.puppyAge );
   }
}

Wenn wir das obige Programm kompilieren und ausführen, wird es das folgende Ergebnis erzeugen −

Ausgabe

Name chosen is :tommy
Puppy's age is :2
Variable Value :2

Regeln zur Deklaration von Quelldateien

Als letzten Teil dieses Abschnitts schauen wir uns nun die Deklarationsregeln für Quelldateien an. Diese Regeln sind wichtig, wenn Klassen deklariert werden, import Anweisungen und Paket Anweisungen in einer Quelldatei.

Klassen haben mehrere Zugriffsebenen und es gibt verschiedene Arten von Klassen; abstrakte Klassen, finale Klassen usw. Wir werden all dies im Kapitel über Zugriffsmodifikatoren erklären.

Abgesehen von den oben genannten Arten von Klassen hat Java auch einige spezielle Klassen, die als innere Klassen und anonyme Klassen bezeichnet werden.

Java-Paket

In einfachen Worten, es ist eine Möglichkeit, die Klassen und Schnittstellen zu kategorisieren. Bei der Entwicklung von Anwendungen in Java werden Hunderte von Klassen und Schnittstellen geschrieben, daher ist die Kategorisierung dieser Klassen ein Muss und macht das Leben viel einfacher.

Anweisungen importieren

Wenn in Java ein vollständig qualifizierter Name angegeben wird, der das Paket und den Klassennamen enthält, kann der Compiler den Quellcode oder die Klassen leicht finden. Die Import-Anweisung ist eine Möglichkeit, dem Compiler den richtigen Ort anzugeben, an dem er diese bestimmte Klasse finden kann.

Beispielsweise würde die folgende Zeile den Compiler auffordern, alle verfügbaren Klassen im Verzeichnis java_installation/java/io −

zu laden
import java.io.*;

Eine einfache Fallstudie

Für unsere Fallstudie erstellen wir zwei Klassen. Sie sind Employee und EmployeeTest.

Öffnen Sie zuerst den Editor und fügen Sie den folgenden Code hinzu. Denken Sie daran, dass dies die Employee-Klasse ist und die Klasse eine öffentliche Klasse ist. Speichern Sie nun diese Quelldatei unter dem Namen Employee.java.

Die Employee-Klasse hat vier Instanzvariablen – Name, Alter, Bezeichnung und Gehalt. Die Klasse hat einen explizit definierten Konstruktor, der einen Parameter akzeptiert.

Beispiel

import java.io.*;
public class Employee {

   String name;
   int age;
   String designation;
   double salary;

   // This is the constructor of the class Employee
   public Employee(String name) {
      this.name = name;
   }

   // Assign the age of the Employee  to the variable age.
   public void empAge(int empAge) {
      age = empAge;
   }

   /* Assign the designation to the variable designation.*/
   public void empDesignation(String empDesig) {
      designation = empDesig;
   }

   /* Assign the salary to the variable	salary.*/
   public void empSalary(double empSalary) {
      salary = empSalary;
   }

   /* Print the Employee details */
   public void printEmployee() {
      System.out.println("Name:"+ name );
      System.out.println("Age:" + age );
      System.out.println("Designation:" + designation );
      System.out.println("Salary:" + salary);
   }
}

Wie bereits in diesem Tutorial erwähnt, beginnt die Verarbeitung mit der Hauptmethode. Damit wir diese Employee-Klasse ausführen können, sollten daher eine Hauptmethode und Objekte erstellt werden. Wir werden für diese Aufgaben eine separate Klasse erstellen.

Es folgt der EmployeeTest Klasse, die zwei Instanzen der Klasse Employee erstellt und die Methoden für jedes Objekt aufruft, um jeder Variable Werte zuzuweisen.

Speichern Sie den folgenden Code in der Datei EmployeeTest.java.

import java.io.*;
public class EmployeeTest {

   public static void main(String args[]) {
      /* Create two objects using constructor */
      Employee empOne = new Employee("James Smith");
      Employee empTwo = new Employee("Mary Anne");

      // Invoking methods for each object created
      empOne.empAge(26);
      empOne.empDesignation("Senior Software Engineer");
      empOne.empSalary(1000);
      empOne.printEmployee();

      empTwo.empAge(21);
      empTwo.empDesignation("Software Engineer");
      empTwo.empSalary(500);
      empTwo.printEmployee();
   }
}

Kompilieren Sie nun beide Klassen und führen Sie dann EmployeeTest aus um das Ergebnis wie folgt zu sehen −

Ausgabe

C:\> javac Employee.java
C:\> javac EmployeeTest.java
C:\> java EmployeeTest
Name:James Smith
Age:26
Designation:Senior Software Engineer
Salary:1000.0
Name:Mary Anne
Age:21
Designation:Software Engineer
Salary:500.0

Was kommt als Nächstes?

In der nächsten Sitzung werden wir die grundlegenden Datentypen in Java diskutieren und wie sie bei der Entwicklung von Java-Anwendungen verwendet werden können.


Java

  1. C#-Klasse und -Objekt
  2. C++-Klassen und -Objekte
  3. C++ Friend-Funktion und Friend-Klassen
  4. Java-Variablen und Literale
  5. Java-Klasse und -Objekte
  6. Letztes Java-Schlüsselwort
  7. Java-Instanz des Operators
  8. Abstrakte Java-Klasse und abstrakte Methoden
  9. Java verschachtelte und innere Klasse
  10. Anonyme Java-Klasse