Apakah ciri dan penggunaan berorientasikan objek Java
May 12, 2023 pm 05:58 PMPerbezaan antara berorientasikan proses dan berorientasikan objek
Berorientasikan proses: Apabila acara itu agak mudah, berorientasikan proses digunakan untuk memfokuskan pada langkah dan proses tertentu acara tersebut, dan pada tingkah laku tertentu dalam proses Fungsi adalah unit terkecil, pertimbangkan bagaimana untuk melakukannya.
Berorientasikan objek: fokus pada mencari "peserta", merangkum fungsi ke dalam objek, menekankan objek dengan fungsi, mengambil kelas/objek sebagai unit terkecil dan mempertimbangkan siapa yang akan melakukannya.
Kes: Xiao Ming mengambil sesuatu dari peti sejuk
Berorientasikan proses:
Berorientasikan objek:
Berorientasikan prosedur—> Berorientasikan objek, sebenarnya, ia adalah peralihan antara pelaksana dan komander
Hubungan antara kelas dan objek
Semuanya adalah objek
Objek: perkara khusus, entiti khusus, kejadian khusus, produk khusus di bawah templat
Kelas: ekstrak bahagian imej ke atas daripada objek, terbitkan bahagian itu dan bentuk kelas. Kelas adalah abstrak Ya, ia adalah templat Secara amnya, apabila menulis kod, anda menulis kelas terlebih dahulu, dan kemudian mencipta objek yang sepadan berdasarkan kelas
Kelas ialah abstraksi objek, dan objek ialah instantiasi kelas
Penciptaan kelas dan objek
Penciptaan kelas
Atribut (ahli bidang pembolehubah)
Atribut digunakan untuk mentakrifkan kelas ini atau kelas ini Data atau ciri statik yang terkandung dalam objek. Skop atribut ialah keseluruhan badan kelas.
Format definisi atribut:
[pengubah suai] nama atribut jenis = [nilai lalai];
2 Kaedah digunakan untuk menentukan ciri tingkah laku dan pelaksanaan fungsi kelas atau kejadian kelas. Kaedah adalah abstraksi ciri-ciri tingkah laku kelas dan objek. Kaedah sangat serupa dengan fungsi dalam pengaturcaraan berorientasikan prosedur. Dalam orientasi proses, fungsi adalah unit paling asas, dan keseluruhan program terdiri daripada panggilan fungsi. Dalam berorientasikan objek, unit asas keseluruhan program ialah kelas, dan kaedah adalah bawahan kepada kelas dan objek.
Format definisi kaedah:
[Pengubah suai] Nama kaedah jenis pengembalian kaedah (senarai parameter formal) {//Pernyataan Java
}
Kami mengambil ciptaan kelas wira King of Glory di atas sebagai contoh:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Penciptaan objek
Seterusnya kami mencipta objek untuk kelas yang kami buat
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
Keputusan: Setiap wira mempunyai atribut yang sama, dan setiap atribut mempunyai nilai yang berbeza Melalui kelas, kita boleh mencipta banyak objek, dan setiap objek mempunyai nilai atribut yang berbeza.
Contohnya: Terdapat lebih daripada seratus wira dalam Raja Segala Raja, masing-masing mempunyai ciri yang berbeza.
Proses mencipta objek:
(1) Apabila menemui kelas buat kali pertama, kelas mesti dimuatkan, dan hanya dimuatkan sekali .
(2) Cipta objek dan buka ruang dalam timbunan
(3) Mulakan objek, dan tugasan atribut adalah semua nilai awal lalai.
(4) Kata kunci baharu memanggil pembina, melaksanakan kaedah pembinaan dan menetapkan semula sifat dalam objek
Pembina
semuanya baharu, Kata kunci baharu ialah sebenarnya memanggil kaedah, yang dipanggil pembina (pembina)
Apabila memanggil pembina, jika tiada pembina ditulis dalam kelas anda, sistem akan memberikan pembina kepada anda secara lalai Pembina (pembina kosong)
Format kaedah pembina:
[pengubah suai] Nama pembina () {}
Perbezaan antara pembina dan kaedah:
- Tiada nilai pulangan kaedah
- Tidak boleh ada pernyataan pulangan di dalam badan kaedah
- Peranan pembina: bukan untuk mencipta objek, kerana sebelum pembina dipanggil, objek Ia telah dicipta dan sifat mempunyai nilai dimulakan lalai.
Tujuan memanggil pembina adalah untuk menetapkan nilai kepada sifat.
Nota: Kami biasanya tidak memulakan dalam pembina kosong, kerana sifat setiap objek akan sama.
Contoh berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
Oleh kerana kami memberikan nilai dalam pembina, sifat akan sama apabila kami mencipta objek
Sebenarnya, kita hanya perlu memastikan kewujudan pembina kosong Tidak perlu menulis kandungan di dalam Jika kita ingin menggunakan pembina untuk menetapkan nilai, kita mesti membebankan pembina
Pembina. terlebih muatan
Secara amnya, kewujudan pembina kosong dijamin Dalam pembina kosong, operasi penetapan atribut secara amnya tidak dilakukan
Secara amnya, kami akan terlebih beban. pembina. Dalam pembina yang terlebih beban Laksanakan operasi penetapan atribut
在重载构造器以后,假如空构造器忘写了,系统也不会给你分配默认的空构造器了,那么你要调用的话就会出错了。所以我们重载构造器时,一般要保留默认构造器
当形参名字和属性名字重名的时候,会出现就近原则:在要表示对象的属性前加上this.来修饰 ,因为this代表的就是你创建的那个对象
this的使用
this就是指当前的对象
this可以修饰属性
当属性名字和形参发生重名的时候,或者 属性名字 和局部变量重名的时候,都会发生就近原则,所以如果我要是直接使用变量名字的话就指的是离的近的那个形参或者局部变量,这时候如果我想要表示属性的话,在前面要加上:this.修饰(如果不发生重名问题的话,实际上你要是访问属性也可以省略this.)
this修饰方法
在同一个类中,方法可以互相调用,this.可以省略不写。
this可以修饰构造器
同一个类中的构造器可以相互用this调用,注意:this修饰构造器必须放在第一行
static修饰
static可以修饰:属性、方法、代码块、内部类
static修饰属性
在类加载的时候,会将静态内容也加载到方法区的静态域中,静态的内容先于对象存在,并且这个静态内容被所有该类的对象共享。
在类加载的时候一起加载入方法区中的静态域中
先于对象存在
访问方式: 对象名.属性名 类名.属性名(推荐)
static修饰属性的应用场景:某些特定的数据想要在内存中共享,只有一块 -->这个情况下,就可以用static修饰的属性。
static修饰方法:
static和public都是修饰符,并列的没有先后顺序,先写谁后写谁都行
在静态方法中不能使用this关键字
在静态方法中不能访问非静态的方法
在静态方法中不能访问非静态的属性
静态的方法可以用 对象名.方法名去调用 也可以 用 类名.方法名 (推荐)
在同一个类中可以直接调用静态方法
代码块
代码块的分类: 普通块、构造块、静态块、同步块(多线程)
代码块执行顺序: 最先执行静态块–>再执行构造块,(不常用)–>再执行构造器–>再执行方法中的普通块
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
|
包(import)
包的作用: 为了解决重名的作用,解决权限问题
包名的定义:
名字全部小写
中间用.隔开
一般都是公司域名倒着写:com.jd 、com.taobao
加上模块名字 :com.taobao.login
不能使用系统中的关键字:null
包声明的位置一般都在非注释代码的第一行
导包:
(1)使用不同包下的类要需要导包, 例如:import java.util.Date;
(2)在导包以后,还想用其他包下同名的类,就必须要手动自己写所在的包。
(3)同一个包下的类想使用不需要导包,可以直接使用。
(4)在java.lang
包下的类,可以直接使用无需导包
(5)可以直接导入*
:
静态导入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Atas ialah kandungan terperinci Apakah ciri dan penggunaan berorientasikan objek Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cuti atau kembali dari Java 8 Stream Foreach?
