摘要:聲明本文首發(fā)于我的個(gè)人微信公眾號編程社區(qū),查看更多文章與學(xué)習(xí)資源請移步我的公眾號編程社區(qū)今天我們來看看面向?qū)ο蟮娜筇卣髦环庋b下來我們從現(xiàn)實(shí)生活中的例子來聊聊封裝的特性我們?nèi)粘J褂玫碾娔X主機(jī),把內(nèi)存主板等等都封裝到機(jī)箱里面去。
聲明:本文首發(fā)于我的個(gè)人微信公眾號【Java編程社區(qū)】,查看更多文章與學(xué)習(xí)資源請移步我的公眾號Java編程社區(qū)
今天我們來看看面向?qū)ο蟮娜筇卣髦弧?strong>封裝
下來我們從現(xiàn)實(shí)生活中的例子來聊聊封裝的特性
我們?nèi)粘J褂玫碾娔X主機(jī),把CPU、內(nèi)存、主板等等都封裝到機(jī)箱里面去。假如沒有機(jī)箱的話出現(xiàn)什么問題,主機(jī)、主板全部都散落在一處,然后開機(jī)沒有開機(jī)按鈕,那么需要我們直接操作跳線才能把電腦開啟。這樣子如果操作不慎的話,機(jī)器就有損壞的危險(xiǎn)。因此,為了安全,現(xiàn)實(shí)生活中我們有機(jī)箱將CPU、內(nèi)存、主板等等封裝起來。這樣就體現(xiàn)了封裝的安全性。
你拿著電腦去加內(nèi)存,可以直接把電腦給維修的人,等他加好內(nèi)存之后,你拿到的還是那個(gè)機(jī)箱,里面發(fā)生了怎樣的變化你并不知道。封裝的第二個(gè)好處——將變化隔離
在機(jī)箱上提供一個(gè)開機(jī)按鈕,而不需要你直接使用跳線開機(jī)的話,體現(xiàn)了封裝的便于使用的特性
將這個(gè)機(jī)箱無論拿到什么地方,都可以使用開機(jī)的功能,體現(xiàn)了封裝的提供重復(fù)性的特性。
我們在來通過代碼的對比來了解封裝
模擬問題
1、描述Employee類,定義姓名、工號、性別的成員變量和工作的方法
2、創(chuàng)建Employee對象,對象.成員的方式進(jìn)行賦值,最后該對象調(diào)用工作的方法。
不使用封裝的情況
public class EmployeeDemo{ public static void main(String[] args) { //創(chuàng)建對象 Employee employee = new Employee(); employee.name = "zhangsan"; employee.id = "1234"; employee.gender = "男"; //調(diào)用成員方法 employee.work(); System.out.println(); //傳入非法的參數(shù) employee.gender = "不是男人"; employee.work(); } } class Employee{ String name; String id; String gender; public void work() { System.out.println(id + ":" + name + ":" + gender + "努力工作中!"); } }
執(zhí)行結(jié)果
使用封裝
設(shè)置類的屬性private關(guān)鍵字,不能使用對象名.屬性名的方式直接訪問對象的屬性。
總結(jié):如果不使用封裝,很容易賦值錯(cuò)誤,并且任何人都可以更改,造成信息的不安全。
那么問題來了
為什么之前可以通過對象名.屬性名的方式訪問?
使用private修飾屬性后,無法在類外邊調(diào)用,那么如何給屬性賦值?
答案是:
public修飾符是公共的,誰都可以訪問
private修飾符是私有的,只有自己可以訪問
屬性被private修飾后,我們可以通過get,set方法對屬性進(jìn)行設(shè)值和取值
請看下邊代碼:
執(zhí)行結(jié)果:
封裝就分享到這了,后續(xù)會(huì)繼續(xù)分享,敬請期待!
聲明:本文首發(fā)于我的個(gè)人微信公眾號【Java編程社區(qū)】,查看更多文章與學(xué)習(xí)資源請移步我的公眾號Java編程社區(qū)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/76970.html
摘要:探索專為而設(shè)計(jì)的將探討進(jìn)行了何種改進(jìn),以及這些改進(jìn)背后的原因。關(guān)于最友好的文章進(jìn)階前言之前就寫過一篇關(guān)于最友好的文章反響很不錯(cuò),由于那篇文章的定位就是簡單友好,因此盡可能的摒棄復(fù)雜的概念,只抓住關(guān)鍵的東西來講,以保證大家都能看懂。 周月切換日歷 一個(gè)可以進(jìn)行周月切換的日歷,左右滑動(dòng)的切換月份,上下滑動(dòng)可以進(jìn)行周,月不同的視圖切換,可以進(jìn)行事件的標(biāo)記,以及節(jié)假日的顯示,功能豐富 Andr...
摘要:我的學(xué)習(xí)筆記匯總標(biāo)簽筆記分為兩大部分和筆記內(nèi)容主要是對一些基礎(chǔ)特性和編程細(xì)節(jié)進(jìn)行總結(jié)整理,適合了解基礎(chǔ)語法,想進(jìn)一步深入學(xué)習(xí)的人如果覺得不錯(cuò),請給,這也是對我的鼓勵(lì),有什么意見歡迎留言反饋目錄基礎(chǔ)鞏固筆記反射基礎(chǔ)鞏固筆記泛型基礎(chǔ)鞏 我的java&javaweb學(xué)習(xí)筆記(匯總) 標(biāo)簽: java [TOC] 筆記分為兩大部分:javase和javaweb javase javawe...
摘要:學(xué)習(xí)致謝一數(shù)據(jù)數(shù)據(jù)網(wǎng)站二需求針對用戶查詢?nèi)罩緮?shù)據(jù)中不同字段,使用讀取日志數(shù)據(jù),封裝到數(shù)據(jù)集中,調(diào)用函數(shù)和函數(shù)進(jìn)行處理不同業(yè)務(wù)統(tǒng)計(jì)分析三分詞工具測試使用比較流行好用的中文分區(qū)面向生產(chǎn)環(huán)境的自然語言處理工具包,是由一系列模 ...
摘要:構(gòu)造函數(shù)注入通過調(diào)用類的構(gòu)造函數(shù),將接口實(shí)現(xiàn)類通過構(gòu)造函數(shù)變量傳入。而在中,其使用橫切技術(shù),將這類代碼從原屬的封裝對象中提取出來,封裝到一個(gè)可重用模塊中,稱為。 最近實(shí)習(xí)用到Spring的開發(fā)框架,但是之前沒有接觸過,因此希望利用網(wǎng)上的資源來學(xué)習(xí)以下。 Spring官方給出了非常全面的介紹,非常適合我這種完全的小白……在這一系列學(xué)習(xí)中,我閱讀的主要資源是5.1.2 Reference ...
摘要:對象既是該類事物實(shí)實(shí)在在存在的個(gè)體。類與對象的關(guān)系圖類就是汽車汽車就是堆內(nèi)存中的對象。成員變量成員變量成員函數(shù)的車,輪胎數(shù)個(gè),跑起來了對象的創(chuàng)建創(chuàng)建對象中創(chuàng)建對象,使用關(guān)鍵字在堆內(nèi)存中開辟了空間,產(chǎn)生了一個(gè)實(shí)體。 聲明:本文首發(fā)于我的個(gè)人微信公眾號【Java編程社區(qū)】,查看更多文章與學(xué)習(xí)資源請移步我的公眾號Java編程社區(qū) 萬物皆對象 學(xué)習(xí)Java,我們都聽過這句話:萬物皆對象。那么什...
閱讀 1117·2023-04-26 03:02
閱讀 1161·2023-04-25 19:18
閱讀 2583·2021-11-23 09:51
閱讀 2561·2021-11-11 16:55
閱讀 2614·2021-10-21 09:39
閱讀 1694·2021-10-09 09:59
閱讀 1991·2021-09-26 09:55
閱讀 3512·2021-09-26 09:55