摘要:聲明本文首發于我的個人微信公眾號編程社區,查看更多文章與學習資源請移步我的公眾號編程社區今天我們來看看面向對象的三大特征之一封裝下來我們從現實生活中的例子來聊聊封裝的特性我們日常使用的電腦主機,把內存主板等等都封裝到機箱里面去。
聲明:本文首發于我的個人微信公眾號【Java編程社區】,查看更多文章與學習資源請移步我的公眾號Java編程社區
今天我們來看看面向對象的三大特征之一——封裝
下來我們從現實生活中的例子來聊聊封裝的特性
我們日常使用的電腦主機,把CPU、內存、主板等等都封裝到機箱里面去。假如沒有機箱的話出現什么問題,主機、主板全部都散落在一處,然后開機沒有開機按鈕,那么需要我們直接操作跳線才能把電腦開啟。這樣子如果操作不慎的話,機器就有損壞的危險。因此,為了安全,現實生活中我們有機箱將CPU、內存、主板等等封裝起來。這樣就體現了封裝的安全性。
你拿著電腦去加內存,可以直接把電腦給維修的人,等他加好內存之后,你拿到的還是那個機箱,里面發生了怎樣的變化你并不知道。封裝的第二個好處——將變化隔離
在機箱上提供一個開機按鈕,而不需要你直接使用跳線開機的話,體現了封裝的便于使用的特性
將這個機箱無論拿到什么地方,都可以使用開機的功能,體現了封裝的提供重復性的特性。
我們在來通過代碼的對比來了解封裝
模擬問題
1、描述Employee類,定義姓名、工號、性別的成員變量和工作的方法
2、創建Employee對象,對象.成員的方式進行賦值,最后該對象調用工作的方法。
不使用封裝的情況
public class EmployeeDemo{ public static void main(String[] args) { //創建對象 Employee employee = new Employee(); employee.name = "zhangsan"; employee.id = "1234"; employee.gender = "男"; //調用成員方法 employee.work(); System.out.println(); //傳入非法的參數 employee.gender = "不是男人"; employee.work(); } } class Employee{ String name; String id; String gender; public void work() { System.out.println(id + ":" + name + ":" + gender + "努力工作中!"); } }
執行結果
使用封裝
設置類的屬性private關鍵字,不能使用對象名.屬性名的方式直接訪問對象的屬性。
總結:如果不使用封裝,很容易賦值錯誤,并且任何人都可以更改,造成信息的不安全。
那么問題來了
為什么之前可以通過對象名.屬性名的方式訪問?
使用private修飾屬性后,無法在類外邊調用,那么如何給屬性賦值?
答案是:
public修飾符是公共的,誰都可以訪問
private修飾符是私有的,只有自己可以訪問
屬性被private修飾后,我們可以通過get,set方法對屬性進行設值和取值
請看下邊代碼:
執行結果:
封裝就分享到這了,后續會繼續分享,敬請期待!
聲明:本文首發于我的個人微信公眾號【Java編程社區】,查看更多文章與學習資源請移步我的公眾號Java編程社區
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/76970.html
摘要:我的學習筆記匯總標簽筆記分為兩大部分和筆記內容主要是對一些基礎特性和編程細節進行總結整理,適合了解基礎語法,想進一步深入學習的人如果覺得不錯,請給,這也是對我的鼓勵,有什么意見歡迎留言反饋目錄基礎鞏固筆記反射基礎鞏固筆記泛型基礎鞏 我的java&javaweb學習筆記(匯總) 標簽: java [TOC] 筆記分為兩大部分:javase和javaweb javase javawe...
摘要:學習致謝一數據數據網站二需求針對用戶查詢日志數據中不同字段,使用讀取日志數據,封裝到數據集中,調用函數和函數進行處理不同業務統計分析三分詞工具測試使用比較流行好用的中文分區面向生產環境的自然語言處理工具包,是由一系列模 ...
摘要:構造函數注入通過調用類的構造函數,將接口實現類通過構造函數變量傳入。而在中,其使用橫切技術,將這類代碼從原屬的封裝對象中提取出來,封裝到一個可重用模塊中,稱為。 最近實習用到Spring的開發框架,但是之前沒有接觸過,因此希望利用網上的資源來學習以下。 Spring官方給出了非常全面的介紹,非常適合我這種完全的小白……在這一系列學習中,我閱讀的主要資源是5.1.2 Reference ...
摘要:對象既是該類事物實實在在存在的個體。類與對象的關系圖類就是汽車汽車就是堆內存中的對象。成員變量成員變量成員函數的車,輪胎數個,跑起來了對象的創建創建對象中創建對象,使用關鍵字在堆內存中開辟了空間,產生了一個實體。 聲明:本文首發于我的個人微信公眾號【Java編程社區】,查看更多文章與學習資源請移步我的公眾號Java編程社區 萬物皆對象 學習Java,我們都聽過這句話:萬物皆對象。那么什...
閱讀 1160·2023-04-26 03:02
閱讀 1196·2023-04-25 19:18
閱讀 2596·2021-11-23 09:51
閱讀 2579·2021-11-11 16:55
閱讀 2634·2021-10-21 09:39
閱讀 1711·2021-10-09 09:59
閱讀 2007·2021-09-26 09:55
閱讀 3535·2021-09-26 09:55