Rumah  >  Artikel  >  Java  >  Pengenalan kepada reka bentuk pengaturcaraan berorientasikan objek dalam bahasa Java

Pengenalan kepada reka bentuk pengaturcaraan berorientasikan objek dalam bahasa Java

王林
王林asal
2023-06-10 08:30:151288semak imbas

Sebagai bahasa pengaturcaraan peringkat tinggi, bahasa Java menggunakan Pengaturcaraan Berorientasikan Objek (OOP) sebagai paradigma pengaturcaraan asasnya. Sebagai idea dan kaedah dalam pengaturcaraan, pengaturcaraan berorientasikan objek telah menjadi model pengaturcaraan yang paling penting dalam bidang sains komputer. Dalam artikel ini, kami akan memperkenalkan reka bentuk pengaturcaraan berorientasikan objek dalam bahasa Java.

1. Apakah itu pengaturcaraan berorientasikan objek?

Pengaturcaraan berorientasikan objek ialah kaedah pengaturcaraan berasaskan objek Idea terasnya adalah untuk menguraikan program kepada beberapa modul, setiap modul mempunyai data dan tingkah lakunya sendiri. Setiap modul ialah objek, dan objek bekerjasama untuk menyelesaikan tugas tertentu dengan memanggil kaedah masing-masing.

Konsep teras dalam pengaturcaraan berorientasikan objek ialah "kelas" dan "objek". Kelas mentakrifkan sifat dan tingkah laku objek, dan objek ialah contoh kelas. Kelas membolehkan anda mencipta berbilang objek yang semuanya mempunyai sifat dan tingkah laku yang sama. Kaedah pengaturcaraan ini boleh mencapai penggunaan semula kod, enkapsulasi dan penyelenggaraan secara berkesan, menjadikan program lebih mudah dibaca dan diselenggara.

Pengaturcaraan berorientasikan objek dalam bahasa Java adalah berdasarkan Mesin Maya Java (JVM ialah mesin maya yang boleh dijalankan pada platform yang berbeza). Oleh itu, program Java boleh dijalankan pada sistem pengendalian yang berbeza, seperti Windows, Mac, Linux, dll.

2. Pengaturcaraan berorientasikan objek dalam Java

Pengaturcaraan berorientasikan objek dalam Java terutamanya merangkumi aspek berikut:

1 Kelas dan objek

A "kelas" dalam Java ialah templat yang digunakan untuk menerangkan status dan tingkah laku sesuatu jenis objek. "Objek" ialah contoh kelas, yang mempunyai sifat dan kaedah yang diterangkan oleh kelas. Di Java, kelas ditakrifkan melalui kata kunci kelas.

Sebagai contoh, kelas Orang ditakrifkan di bawah:

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);
    }
}

Dalam program di atas, kami mentakrifkan kelas Orang, yang mengandungi atribut nama dan umur serta kaedah untuk mendapatkan nama, umur dan output kaedah maklumat. Apabila menggunakannya, anda boleh mencipta objek melalui kod berikut:

Person p = new Person("张三", 20);

Antaranya, kata kunci baharu digunakan untuk mencipta instance kelas Person, iaitu objek Person.

2. Enkapsulasi dan pewarisan

Encapsulation dalam Java merujuk kepada proses membungkus data dan gelagat objek bersama-sama, menyembunyikan butiran pelaksanaan dalaman dari dunia luar. Di Java, enkapsulasi dicapai melalui kata kunci kawalan akses peribadi, awam, dilindungi, dsb.

Warisan bermaksud satu kelas mewarisi sifat dan kaedah kelas lain. Di Jawa, pewarisan dilaksanakan melalui kata kunci extends. Subkelas boleh mewarisi sifat dan kaedah kelas induk, dan juga boleh menimpa (Timpa) kaedah kelas induk.

Berikut ialah contoh pewarisan:

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);
    }
}

Dalam program di atas, kami mentakrifkan kelas Pelajar, yang mewarisi atribut dan kaedah kelas Person, dan menambah atribut sekolah dan getSchool , kaedah printInfo.

3. Polimorfisme

Polymorphism dalam Java merujuk kepada ungkapan yang berbeza daripada kelakuan yang sama. Di Jawa, polimorfisme dicapai melalui pewarisan dan penggantian.

Berikut ialah contoh polimorfisme:

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();
    }
}

Dalam program di atas, kami mentakrifkan kelas Orang dan kelas Pelajar, yang kedua-duanya mempunyai kaedah printInfo mereka sendiri. Dalam kaedah utama, kita mula-mula mencipta objek Orang p dan mengeluarkan maklumatnya kemudian mencipta objek Pelajar s dan mengeluarkan maklumatnya kemudian kita melaksanakan polimorfisme melalui "p = s", dan apabila kita memanggil kaedah printInfo lagi, Apakah itu; sebenarnya dipanggil kaedah printInfo kelas Pelajar.

4. Antara muka

Antara muka dalam Java ialah satu set kaedah abstrak Semua kaedah dalam antara muka adalah abstrak dan tidak mempunyai pelaksanaan khusus. Antara muka boleh dilaksanakan oleh kelas, dan kelas boleh melaksanakan berbilang antara muka. Dalam Java, antara muka ditakrifkan melalui antara muka kata kunci.

Berikut ialah contoh antara muka:

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());
    }
}

Dalam atur cara di atas, kami mentakrifkan antara muka IShape dan dua kelas, Circle dan Rectangle, yang kedua-duanya melaksanakan antara muka IShape. Dalam kaedah utama, kami mencipta objek Circle dan Rectangle dan memanggil kaedah kawasan mereka masing-masing.

Ringkasan

Bahasa Java menggunakan pengaturcaraan berorientasikan objek (OOP) sebagai paradigma pengaturcaraan asasnya, dan melaksanakan reka bentuk program melalui mekanisme seperti kelas dan objek, enkapsulasi dan pewarisan, polimorfisme dan antara muka. Program yang ditulis menggunakan kaedah pengaturcaraan berorientasikan objek mempunyai kebolehselenggaraan yang baik, kebolehskalaan dan kebolehgunaan semula kod yang lebih baik.

Atas ialah kandungan terperinci Pengenalan kepada reka bentuk pengaturcaraan berorientasikan objek dalam bahasa Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn