Rumah Java javaTutorial 面向对象内容详解

面向对象内容详解

Jun 26, 2017 am 09:27 AM
this objek enkapsulasi Untuk

无论面向对象还是面向过程, 这俩都是解决问题的思路而已, 只是角度不同.

面向过程:

强调解决问题的每一个步骤都亲力亲为,每一个细节都自己手动实现.


面向对象:

使用特定功能对象去解决特定的问题, 每一个细节不需要关注,只需要创建对应的对象即可.


面向对象是基于面向过程的

类和对象及他们的关系
类: 具有相同特征和行为(功能)的事物的统称 , 是一个抽象概念
 对象: 这类事物中某个确定的个体


类和对象的关系
 一个类可以创建多个对象 , 类是对象的抽象, 对象是类的实例.

描述一个事物----> 类

  特征----> 成员属性(成员变量) 
  行为(功能)---> 成员方法

类的创建格式:
  修饰符  class 类名{

  数据类型  成员变量名1;
  数据类型  成员变量名2;
  数据类型  成员变量名3;
  ...

  成员方法1;
  成员方法2;
  成员方法3;
  ...
  }

修饰符: public
类名: 标识符 见名知意
成员变量列表: 事物的特征 ,只写当前场景关注的特征,没必要把事物的所有特征全都写上 . 写法类似于定义变量
 成员方法: 事物的行为(功能) 只写当前场景关注的行为(特征)   写法上类似于之前的定义方法, 区别在于此时写的话要去掉static

 当一个类第一次使用的时候要载入到方法区 , 后续每一次再使用这个类 就不需要重复载入

成员变量和局部变量区别
1.定义的位置不同
局部变量: 定义在方法的内部
成员变量: 定义在类的内部, 方法的外部
2.在内存中的存放位置不同
局部变量: 局部变量存放在 栈区
成员变量: 成员变量存放在 堆区
3.生命周期不同
局部变量: 随着方法的调用而产生,随着方法的结束而消失    相对较短
成员变量: 随着对象创建而产生,随着对象数据回收而消失   相对较长
4.初始值不同
局部变量: 没有初始值, 使用之前必须进行赋值
成员变量: 有初始值, 引用类型 null, 整数 0 , 小数0.0 字符:空格, 布尔 false

封装性
封装是 面向对象的三大特征之一, 另外两个是继承  多态

类名:Person
属性:name ,age
方法:展示

封装好处: 提高程序的安全性

对属性封装的步骤:
1.使用private关键字修饰对应的属性 , 防止外界通过对象名.属性的方式直接访问属性
2.书写对应属性的set和get方法 ,  给外界一个访问属性的通道

封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。
封装的原则:
将不需要对外提供的内容都隐藏起来。
把属性隐藏,提供公共方法对其访问。
成员变量private,提供对应的getXxx()/setXxx()方法

好处:
通过方法来控制成员变量的操作,提高了代码的安全性
 把代码用方法进行封装,提高了代码的复用性

变量访问的就近原则:
当出现多个重名变量的时候, 目标代码使用的是离这行代码最近的那个变量

this可以解决的问题:
当局部变量和成员变量重名的时候, 想在特定的代码处访问成员变量, 就可以在目标行的变量名前面加this.
this只的是当前调用这个方法的对象
this 谁调用指的就是谁

构造方法
是一个方法. 作用: 给对象的数据赋值默认值

定义格式:
  修饰符   方法名(参数列表){

  若干条初始化语句

 }
修饰符: public
方法名: 直接写类名  
参数列表: 跟之前定义方法写形式参数一致
注意 构造方法 没有返回值类型

如果我们自己不手动写无参数的构造方法, 系统会默认提供一个,如果我们自己手动书写了无参的构造方法,
那系统就不会给提供,使用的时候直接使用我们自己写的构造方法

构造方法 也是方法 也可以进行重载

但凡我们手写了任意的构造方法, 系统就都不会给提供无参构造方法了 ,
当此时非要用无参的构造方法创建对象的时候, 必须自己手写无参的构造方法

Atas ialah kandungan terperinci 面向对象内容详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Tukar tatasusunan atau objek kepada rentetan JSON menggunakan fungsi json_encode() PHP Tukar tatasusunan atau objek kepada rentetan JSON menggunakan fungsi json_encode() PHP Nov 03, 2023 pm 03:30 PM

JSON (JavaScriptObjectNotation) ialah format pertukaran data ringan yang telah menjadi format biasa untuk pertukaran data antara aplikasi web. Fungsi json_encode() PHP boleh menukar tatasusunan atau objek kepada rentetan JSON. Artikel ini akan memperkenalkan cara menggunakan fungsi json_encode() PHP, termasuk sintaks, parameter, nilai pulangan dan contoh khusus. Sintaks Sintaks fungsi json_encode() adalah seperti berikut: st

TrendForce: Produk platform Blackwell Nvidia memacu kapasiti pengeluaran CoWoS TSMC untuk meningkat sebanyak 150% tahun ini TrendForce: Produk platform Blackwell Nvidia memacu kapasiti pengeluaran CoWoS TSMC untuk meningkat sebanyak 150% tahun ini Apr 17, 2024 pm 08:00 PM

Menurut berita dari laman web ini pada 17 April, TrendForce baru-baru ini mengeluarkan laporan, mempercayai bahawa permintaan untuk produk platform Blackwell baharu Nvidia adalah menaik, dan dijangka memacu jumlah kapasiti pengeluaran pembungkusan CoWoS TSMC meningkat lebih daripada 150% pada 2024. Produk platform baharu NVIDIA Blackwell termasuk GPU siri B dan kad pemecut GB200 yang menyepadukan CPU GraceArm NVIDIA sendiri. TrendForce mengesahkan bahawa rantaian bekalan pada masa ini sangat optimistik tentang GB200, dengan penghantaran dijangka melebihi satu juta unit pada 2025, menyumbang 40-50% daripada GPU mewah Nvidia. Nvidia merancang untuk menyampaikan produk seperti GB200 dan B100 pada separuh kedua tahun ini, tetapi pembungkusan wafer huluan mesti terus menggunakan produk yang lebih kompleks.

Bagaimana untuk menukar tatasusunan hasil pertanyaan MySQL kepada objek? Bagaimana untuk menukar tatasusunan hasil pertanyaan MySQL kepada objek? Apr 29, 2024 pm 01:09 PM

Begini cara untuk menukar tatasusunan hasil pertanyaan MySQL kepada objek: Cipta tatasusunan objek kosong. Gelung melalui tatasusunan yang terhasil dan buat objek baharu untuk setiap baris. Gunakan gelung foreach untuk menetapkan pasangan nilai kunci setiap baris kepada sifat yang sepadan bagi objek baharu. Menambah objek baharu pada tatasusunan objek. Tutup sambungan pangkalan data.

Gunakan fungsi __contains__() Python untuk menentukan operasi pembendungan objek Gunakan fungsi __contains__() Python untuk menentukan operasi pembendungan objek Aug 22, 2023 pm 04:23 PM

Gunakan fungsi __contains__() Python untuk mentakrifkan operasi pembendungan objek Python ialah bahasa pengaturcaraan ringkas dan berkuasa yang menyediakan banyak ciri berkuasa untuk mengendalikan pelbagai jenis data. Salah satunya adalah untuk melaksanakan operasi pembendungan objek dengan mentakrifkan fungsi __contains__(). Artikel ini akan memperkenalkan cara menggunakan fungsi __contains__() untuk mentakrifkan operasi pembendungan objek, dan memberikan beberapa kod sampel. Fungsi __contains__() ialah Pytho

Saiz pakej AMD 'Strix Halo” FP11 terdedah: bersamaan dengan Intel LGA1700, 60% lebih besar daripada Phoenix Saiz pakej AMD 'Strix Halo” FP11 terdedah: bersamaan dengan Intel LGA1700, 60% lebih besar daripada Phoenix Jul 18, 2024 am 02:04 AM

Laman web ini melaporkan pada 9 Julai bahawa pemproses siri "Strix" seni bina AMD Zen5 akan mempunyai dua penyelesaian pembungkusan StrixPoint yang lebih kecil akan menggunakan pakej FP8, manakala StrixHalo akan menggunakan pakej FP11. Sumber: sumber videocardz @Olrak29_ Pendedahan terbaru ialah saiz pakej FP11 StrixHalo ialah 37.5mm*45mm (1687 milimeter persegi), yang sama dengan saiz pakej LGA-1700 bagi CPU Intel AlderLake dan RaptorLake. Phoenix APU terbaru AMD menggunakan penyelesaian pembungkusan FP8 dengan saiz 25*40mm, yang bermaksud bahawa StrixHalo's F

Apakah perbezaan antara tatasusunan dan objek dalam PHP? Apakah perbezaan antara tatasusunan dan objek dalam PHP? Apr 29, 2024 pm 02:39 PM

Dalam PHP, tatasusunan ialah urutan tersusun, dan elemen diakses mengikut indeks; Akses tatasusunan adalah melalui indeks, akses objek adalah melalui sifat/kaedah. Nilai tatasusunan diluluskan dan rujukan objek diluluskan.

Gunakan fungsi __le__() Python untuk menentukan perbandingan kurang daripada atau sama bagi dua objek Gunakan fungsi __le__() Python untuk menentukan perbandingan kurang daripada atau sama bagi dua objek Aug 21, 2023 pm 09:29 PM

Tajuk: Menggunakan fungsi __le__() Python untuk menentukan perbandingan kurang daripada atau sama bagi dua objek Dalam Python, kita boleh mentakrifkan operasi perbandingan antara objek dengan menggunakan kaedah khas. Salah satunya ialah fungsi __le__(), yang digunakan untuk menentukan perbandingan kurang daripada atau sama. Fungsi __le__() ialah kaedah ajaib dalam Python dan merupakan fungsi khas yang digunakan untuk melaksanakan operasi "kurang daripada atau sama". Apabila kita membandingkan dua objek menggunakan operator kurang daripada atau sama (<=), Python

Teknologi pembungkusan dan aplikasi dalam PHP Teknologi pembungkusan dan aplikasi dalam PHP Oct 12, 2023 pm 01:43 PM

Teknologi enkapsulasi dan enkapsulasi aplikasi dalam PHP ialah konsep penting dalam pengaturcaraan berorientasikan objek Ia merujuk kepada merangkum data dan operasi pada data bersama-sama untuk menyediakan antara muka akses bersatu kepada program luaran. Dalam PHP, enkapsulasi boleh dicapai melalui pengubahsuai kawalan akses dan definisi kelas. Artikel ini akan memperkenalkan teknologi enkapsulasi dalam PHP dan senario aplikasinya, dan menyediakan beberapa contoh kod khusus. 1. Pengubah suai kawalan capaian berkapsul Dalam PHP, pengkapsulan dicapai terutamanya melalui pengubahsuai kawalan capaian. PHP menyediakan tiga pengubah kawalan akses,

See all articles