Heim  >  Artikel  >  Java  >  Der logische Prozess der objektorientierten Programmierung (OOP) der Java-Entwicklung

Der logische Prozess der objektorientierten Programmierung (OOP) der Java-Entwicklung

WBOY
WBOYOriginal
2023-06-27 09:31:451258Durchsuche

Java ist eine objektorientierte Programmiersprache (Object-Oriented Programming, OOP), und die Idee der objektorientierten Programmierung ist eine Softwareentwicklungsmethode, deren Kern die objektbasierte Programmierung ist. Objektorientierte Programmierung kann Programmierern dabei helfen, Code besser zu organisieren und zu verwalten sowie die Wiederverwendbarkeit, Wartbarkeit und Skalierbarkeit des Codes zu verbessern. In diesem Artikel helfen wir den Lesern, OOP-Ideen und die Java-Sprache besser zu verstehen, indem wir den logischen Prozess der objektorientierten Programmierung in der Java-Entwicklung vorstellen.

  1. Definieren Sie Klassen und Objekte

In Java ist alles ein Objekt, daher müssen Sie zunächst eine Klasse definieren, um das Objekt zu beschreiben. Wir können das Schlüsselwort class in Java verwenden, um eine Klasse zu definieren, wie unten gezeigt:

public class Person {
    // 属性
    private String name;
    private int age;

    // 方法
    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return this.name;
    }

    public int getAge() {
        return this.age;
    }
}

Eine Klasse enthält Attribute und Methoden. Die Attribute werden verwendet, um die Eigenschaften des Objekts zu beschreiben, und die Methoden werden verwendet, um das Verhalten des Objekts zu beschreiben Objekt. Der obige Code definiert eine Person-Klasse, die zwei Attribute namens und Alter sowie vier Methoden setName, setAge, getName und getAge enthält. In einer Klasse können wir Zugriffskontrollen (öffentlich, geschützt, privat) verwenden, um die Sichtbarkeit von Eigenschaften und Methoden einzuschränken.

Wenn die Klassendefinition abgeschlossen ist, können wir diese Klasse verwenden, indem wir Objekte erstellen. Verwenden Sie in Java das Schlüsselwort new, um ein Objekt zu erstellen, wie unten gezeigt:

Person person = new Person();
person.setName("张三");
person.setAge(20);
System.out.println(person.getName());
System.out.println(person.getAge());

Der obige Code erstellt ein Person-Objekt, legt seine Namens- und Altersattribute fest und gibt schließlich seinen Namen und sein Alter aus. Hier können wir sehen, dass der Prozess der Erstellung eines Objekts durch den Aufruf des Konstruktors der Klasse und das anschließende Festlegen und Abrufen von Eigenschaften über die Methoden des Objekts abgeschlossen wird.

  1. Kapselung und Vererbung

Im OOP-Denken sind Kapselung und Vererbung Schlüsselkonzepte. Kapselung bezieht sich auf das Verbergen der Statusinformationen eines Objekts innerhalb des Objekts und die Bereitstellung nur offengelegter Schnittstellen, um die Sicherheit und Wartbarkeit des Objekts zu gewährleisten. Vererbung bedeutet, dass eine Klasse ihre Eigenschaften und Methoden erben kann, indem sie eine andere Klasse erweitert, und auf dieser Basis ihre eigenen Eigenschaften und Methoden hinzufügen kann.

In Java werden Kapselung und Vererbung auch über Schlüsselwörter implementiert, die jeweils privat, geschützt und öffentlich sind. Die Geltungsbereiche dieser drei Schlüsselwörter sind privat, geschützt und öffentlich. Für Eigenschaften und Methoden in einer Klasse können wir diese drei Schlüsselwörter verwenden, um ihre Sichtbarkeit einzuschränken und eine Kapselung zu erreichen. Der Beispielcode lautet wie folgt:

public class Person {
    // 私有属性
    private String name;
    private int age;

    // 公共方法
    public void setInfo(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String getInfo() {
        return "姓名:" + this.name + ",年龄:" + this.age;
    }
}

public class Student extends Person {
    // 私有属性
    private int id;

    // 公共方法
    public void setId(int id) {
        this.id = id;
    }

    public int getId() {
        return this.id;
    }
}

Im obigen Code definieren wir eine Person-Klasse und eine Student-Klasse, die von der Person-Klasse erbt. Die Person-Klasse definiert zwei private Eigenschaften namens und Alter sowie eine öffentliche Methode setInfo und eine öffentliche Methode getInfo, die zum Festlegen und Abrufen der Namens- und Altersattribute verwendet werden. Die Student-Klasse erbt alle Attribute und Methoden der Person-Klasse und fügt eine neue private Attribut-ID sowie zwei öffentliche Methoden setId und getId hinzu, die zum Festlegen und Abrufen des Studentennummernattributs verwendet werden.

Durch den obigen Code können wir sehen, dass die Attribute „Name“ und „Alter“ in der Person-Klasse als private Attribute definiert sind und nur über Methoden innerhalb der Klasse zugänglich sind, während die öffentlichen Methoden „setInfo“ und „getInfo“ zum Festlegen nach außen zugänglich sind und Attribute erhalten. Da die Student-Klasse die Person-Klasse erbt, enthält sie auch die Namens- und Altersattribute. Wenn das Student-Klassenobjekt jedoch die Namens- und Altersattribute festlegt, kann es nur über die geerbte setInfo-Methode festgelegt werden und kann nicht direkt darauf zugreifen die Namens- und Altersattribute.

Gleichzeitig haben wir in der Student-Klasse eine neue private Attribut-ID hinzugefügt und die öffentlichen Methoden setId und getId zum Festlegen und Abrufen des Attributwerts definiert. Da die Student-Klasse das ID-Attribut nicht nach außen hin offenlegt, ist ihre Zugriffskontrolle privat. Durch Vererbung kann die Student-Klasse die Methoden getInfo und setInfo in der übergeordneten Klasse verwenden, um auf die privaten Attribute Name und Alter in der übergeordneten Klasse zuzugreifen und so die Wiederverwendung der Mitglieder der übergeordneten Klasse zu realisieren.

  1. Polymorphismus

Polymorphismus ist ein weiteres wichtiges Konzept in der objektorientierten Programmierung. Es bedeutet, dass dieselbe Methode mehrere Formen von Parametern akzeptieren kann, um unterschiedliche Verhaltensweisen zu erzielen. Es gibt zwei Möglichkeiten, Polymorphismus zu implementieren:

  • Vererbung zur Implementierung von Polymorphismus
  • Schnittstelle zur Implementierung von Polymorphismus

Bei der Vererbung zur Implementierung von Polymorphismus können wir über die Referenz der übergeordneten Klasse auf die Methoden der Unterklasse zugreifen und so einen dynamischen Aufruf erreichen . Der Beispielcode lautet wie folgt:

public class Person {
    public void say() {
        System.out.println("我是人类");
    }
}

public class Student extends Person {
    public void say() {
        System.out.println("我是学生");
    }
}

public class Teacher extends Person {
    public void say() {
        System.out.println("我是老师");
    }
}

public class Test {
    public static void main(String[] args) {
        Person person = new Person();
        Person student = new Student();
        Person teacher = new Teacher();

        person.say();
        student.say();
        teacher.say();
    }
}

Der obige Code definiert eine Person-Klasse und zwei Student-Klassen und Teacher-Klassen, die von der Person-Klasse erben. In der Testklasse haben wir jeweils ein Person-Objekt, ein Student-Objekt und ein Teacher-Objekt erstellt und die entsprechenden Informationen durch Aufrufen ihrer say-Methoden ausgegeben. Da sowohl die Student-Klasse als auch die Teacher-Klasse von der Person-Klasse erben und deren Say-Methode überschreiben, wird beim Aufruf der Say-Methode die entsprechende Methode entsprechend dem Objekttyp ausgeführt, wodurch ein polymorpher Effekt erzielt wird.

Beim Schnittstellenimplementierungspolymorphismus können wir eine Reihe von Methoden über die Schnittstelle definieren und dann verschiedene Implementierungsklassen diese Methoden entsprechend ihren eigenen Anforderungen implementieren lassen. Der Beispielcode lautet wie folgt:

public interface Animal {
    public void eat();
}

public class Cat implements Animal {
    public void eat() {
        System.out.println("猫吃鱼");
    }
}

public class Dog implements Animal {
    public void eat() {
        System.out.println("狗吃肉");
    }
}

public class Test {
    public static void main(String[] args) {
        Animal cat = new Cat();
        Animal dog = new Dog();

        cat.eat();
        dog.eat();
    }
}

Der obige Code definiert eine Animal-Schnittstelle und zwei Klassen Cat und Dog, die diese Schnittstelle implementieren. In der Test-Klasse haben wir jeweils ein Cat-Objekt und ein Dog-Objekt erstellt und die entsprechenden Informationen durch Aufrufen ihrer eat-Methode ausgegeben. Da sowohl die Cat-Klasse als auch die Dog-Klasse die Animal-Schnittstelle implementieren und ihre Eat-Methode überschreiben, wird beim Aufruf der Eat-Methode die entsprechende Methode entsprechend dem Objekttyp ausgeführt, wodurch ein polymorpher Effekt erzielt wird.

Zusammenfassung

Durch die Einführung des oben genannten logischen Prozesses können wir erkennen, dass objektorientierte Programmierideen in der Java-Entwicklung sehr wichtig sind. Es kann Programmierern helfen, Code durch Kapselung, Vererbung und Polymorphismus besser zu organisieren und zu verwalten und so die Wiederverwendbarkeit, Wartbarkeit und Skalierbarkeit des Codes zu verbessern. Für Java-Entwickler kann die Beherrschung objektorientierter Programmierideen bessere Ergebnisse bei der Programmentwicklung erzielen.

Das obige ist der detaillierte Inhalt vonDer logische Prozess der objektorientierten Programmierung (OOP) der Java-Entwicklung. 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