Heim > Java > javaLernprogramm > Hauptteil

Einführung in den objektorientierten Programmierentwurf in der Java-Sprache

王林
Freigeben: 2023-06-10 08:30:15
Original
1277 Leute haben es durchsucht

Als Programmiersprache auf hoher Ebene übernimmt die Java-Sprache die objektorientierte Programmierung (OOP) als grundlegendes Programmierparadigma. Als Idee und Methode der Programmierung hat sich die objektorientierte Programmierung zum wichtigsten Programmiermodell im Bereich der Informatik entwickelt. In diesem Artikel stellen wir das objektorientierte Programmierdesign in der Java-Sprache vor.

1. Was ist objektorientierte Programmierung?

Objektorientierte Programmierung ist eine objektbasierte Programmiermethode. Ihre Kernidee besteht darin, das Programm in mehrere Module zu zerlegen, wobei jedes Modul seine eigenen Daten und sein eigenes Verhalten hat. Jedes Modul ist ein Objekt, und die Objekte arbeiten zusammen, um eine bestimmte Aufgabe zu erledigen, indem sie die Methoden des jeweils anderen aufrufen.

Die Kernkonzepte der objektorientierten Programmierung sind „Klassen“ und „Objekte“. Eine Klasse definiert die Eigenschaften und das Verhalten eines Objekts, und ein Objekt ist eine Instanz einer Klasse. Mit Klassen können Sie mehrere Objekte erstellen, die alle die gleichen Eigenschaften und das gleiche Verhalten haben. Mit dieser Programmiermethode kann die Wiederverwendung, Kapselung und Wartung von Code effektiv erreicht werden, wodurch das Programm lesbarer und wartbarer wird.

Objektorientierte Programmierung in der Java-Sprache basiert auf der Java Virtual Machine (JVM), einer virtuellen Maschine, die auf verschiedenen Plattformen ausgeführt werden kann. Daher können Java-Programme auf verschiedenen Betriebssystemen wie Windows, Mac, Linux usw. ausgeführt werden.

2. Objektorientierte Programmierung in Java

Objektorientierte Programmierung in Java umfasst hauptsächlich die folgenden Aspekte:

1. Klassen und Objekte

„Klasse“ ist in Java eine Vorlage, die zur Beschreibung eines bestimmten Zustands verwendet wird Verhalten von Klassenobjekten. Ein „Objekt“ ist eine Instanz einer Klasse, die über die von der Klasse beschriebenen Eigenschaften und Methoden verfügt. In Java werden Klassen über das Schlüsselwort class definiert.

Zum Beispiel ist unten eine Personenklasse definiert:

public class Person{
    private String name; // 姓名
    private int age; // 年龄
    
    // 构造方法
    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }
    
    //获取姓名
    public String getName(){
        return name;
    }
    
    //获取年龄
    public int getAge(){
        return age;
    }
    
    //输出信息
    public void printInfo(){
        System.out.println("姓名:" + name + ",年龄:" + age);
    }
}
Nach dem Login kopieren

Im obigen Programm definieren wir eine Personenklasse, die Namens- und Altersattribute sowie Methoden zum Abrufen von Namen und Alter sowie zur Ausgabe von Informationen enthält. Wenn Sie es verwenden, können Sie ein Objekt über den folgenden Code erstellen:

Person p = new Person("张三", 20);
Nach dem Login kopieren

Unter anderem wird das Schlüsselwort new verwendet, um eine Instanz der Person-Klasse, also ein Person-Objekt, zu erstellen.

2. Kapselung und Vererbung

Kapselung bezieht sich in Java auf den Prozess, die Daten und das Verhalten eines Objekts zusammenzufassen und interne Implementierungsdetails vor der Außenwelt zu verbergen. In Java wird die Kapselung durch die Zugriffskontrollschlüsselwörter privat, öffentlich, geschützt usw. erreicht.

Vererbung bedeutet, dass eine Klasse die Eigenschaften und Methoden einer anderen Klasse erbt. In Java wird die Vererbung über das Schlüsselwort „extends“ implementiert. Unterklassen können die Eigenschaften und Methoden der übergeordneten Klasse erben und auch die Methoden der übergeordneten Klasse überschreiben (Override).

Das Folgende ist ein Beispiel für die Vererbung:

public class Student extends Person{
    private String school; // 学校

    // 构造方法
    public Student(String name, int age, String school){
        super(name, age);
        this.school = school;
    }
    //获取学校
    public String getSchool(){
        return school;
    }
    //输出信息
    public void printInfo(){
        super.printInfo(); // 调用父类的printInfo方法
        System.out.println("所在学校:" + school);
    }
}
Nach dem Login kopieren

Im obigen Programm haben wir eine Student-Klasse definiert, die die Attribute und Methoden der Person-Klasse geerbt hat, und das Schulattribut sowie die Methoden getSchool und printInfo hinzugefügt.

3. Polymorphismus

Polymorphismus bezieht sich in Java auf unterschiedliche Erscheinungsformen desselben Verhaltens. In Java wird Polymorphismus durch Vererbung und Überschreibung erreicht.

Das Folgende ist ein Beispiel für Polymorphismus:

public class Test{
    public static void main(String[] args){
        Person p = new Person("张三", 20);
        p.printInfo();
        Student s = new Student("李四", 18, "北大");
        s.printInfo();
        p = s; // 多态
        p.printInfo();
    }
}
Nach dem Login kopieren

Im obigen Programm definieren wir eine Person-Klasse und eine Student-Klasse, die beide über ihre eigene printInfo-Methode verfügen. In der Hauptmethode erstellen wir zuerst ein Person-Objekt p und geben seine Informationen aus. Dann erstellen wir ein Student-Objekt s und geben seine Informationen aus. Anschließend implementieren wir Polymorphismus durch „p = s“ und rufen erneut die printInfo-Methode von p auf Tatsächlich wird die printInfo-Methode der Student-Klasse aufgerufen.

4. Schnittstelle

Die Schnittstelle in Java ist eine Reihe abstrakter Methoden. Alle Methoden in der Schnittstelle sind abstrakt und haben keine spezifische Implementierung. Schnittstellen können von Klassen implementiert werden, und eine Klasse kann mehrere Schnittstellen implementieren. In Java werden Schnittstellen über das Schlüsselwort interface definiert.

Das Folgende ist ein Beispiel für eine Schnittstelle:

interface IShape{
    public abstract double area();
}

class Circle implements IShape{
    private double radius;
    public Circle(double radius){
        this.radius = radius;
    }
    public double area(){
        return Math.PI * radius * radius;
    }
}

class Rectangle implements IShape{
    private double width, height;
    public Rectangle(double width, double height){
        this.width = width;
        this.height = height;
    }
    public double area(){
        return width * height;
    }
}

public class Test{
    public static void main(String[] args){
        IShape c = new Circle(2.0);
        IShape r = new Rectangle(3.0, 4.0);
        System.out.println("圆面积:" + c.area());
        System.out.println("矩形面积:" + r.area());
    }
}
Nach dem Login kopieren

Im obigen Programm haben wir eine IShape-Schnittstelle und zwei Klassen definiert, Circle und Rechteck, die beide die IShape-Schnittstelle implementieren. In der Hauptmethode erstellen wir Kreis- und Rechteckobjekte und rufen jeweils deren Flächenmethoden auf.

Zusammenfassung

Die Java-Sprache übernimmt die objektorientierte Programmierung (OOP) als grundlegendes Programmierparadigma und implementiert den Programmentwurf durch Mechanismen wie Klassen und Objekte, Kapselung und Vererbung, Polymorphismus und Schnittstellen. Mit objektorientierten Programmiermethoden geschriebene Programme zeichnen sich durch eine gute Wartbarkeit, Skalierbarkeit und eine bessere Wiederverwendbarkeit des Codes aus.

Das obige ist der detaillierte Inhalt vonEinführung in den objektorientierten Programmierentwurf in der Java-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage