Java封装如何封装 封装的好处是什么?
提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔
文章目錄
- 前言
- 一、封裝的作用是什么?
- 二、封裝的好處
- 三、封裝的步驟
- 1.引入庫
- 2.private的應(yīng)用
- 總結(jié)
前言
????????我要看電視,只需要按一下開關(guān)和換臺(tái)就可以了。有必要了解電視機(jī)內(nèi)部的結(jié)構(gòu)嗎?有必要碰碰顯像管嗎?制造廠家為了方便我們使用電視,把復(fù)雜的內(nèi)部細(xì)節(jié)全部封裝起來,只給我們暴露簡單的接口,比如:電源開關(guān)。具體內(nèi)部是怎么實(shí)現(xiàn)的,我們不需要操心。
????????需要讓用戶知道的才暴露出來,不需要讓用戶知道的全部隱藏起來,這就是封裝。說的專業(yè)一點(diǎn),封裝就是把對(duì)象的屬性和操作結(jié)合為一個(gè)獨(dú)立的整體,并盡可能隱藏對(duì)象的內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。
??????????我們程序設(shè)計(jì)要追求“高內(nèi)聚,低耦合”。 高內(nèi)聚就是類的內(nèi)部數(shù)據(jù)操作細(xì)節(jié)自己完成,不允許外部干涉;低耦合是僅暴露少量的方法給外部使用,盡量方便外部調(diào)用。
提示:以下是本篇文章正文內(nèi)容,下面案例可供參考
一、封裝的意義是什么?
封裝是指將類的某些信息隱藏在類的內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來對(duì)隱藏的信息進(jìn)行操作和訪問。
二、封裝的好處?
??????1. 提高代碼的安全性。
? ? ?2. 提高代碼的復(fù)用性。
? ? ?3. “高內(nèi)聚”:封裝細(xì)節(jié),便于修改內(nèi)部代碼,提高可維護(hù)性。
? ? ?4. “低耦合”:簡化外部調(diào)用,便于調(diào)用者使用,便于擴(kuò)展和協(xié)作。
三、封裝的步驟
? ? ? ? 封裝的話需要private關(guān)鍵字,private是一個(gè)修飾符,可以用來修飾成員(成員變量,成員方法)
被private修飾的成員,只能在本類進(jìn)行訪問,針對(duì)private修飾的成員變量,如果需要被其他類使用,提供相應(yīng)的操作
提供“get變量名()”方法,用于獲取成員變量的值,方法用public修飾
提供“set變量名(參數(shù))”方法,用于設(shè)置成員變量的值,方法用public修飾
1.使用private制作set和get類
代碼如下(示例):
/* 學(xué)生類 */class Student {//成員變量 String name;private int age; //提供get/set方法 public void setAge(int a) {if(a<0 || a>120) {System.out.println("年齡不符合規(guī)定"); }else { age = a; } }public int getAge() {return age; }//成員方法 public void show() {System.out.println(name + "," + age);}} }/* 學(xué)生測試類 */public class StudentDemo {public static void main(String[] args) { //創(chuàng)建對(duì)象 Student s = new Student(); //給成員變量賦值 s.name = "林青霞"; s.setAge(30); //調(diào)用show方法 s.show(); } }private制作get和set的快捷方法
提供“get變量名()”方法,用于獲取成員變量的值,方法用public修飾
提供“set變量名(參數(shù))”方法,用于設(shè)置成員變量的值,方法用public修飾
? ? ? ? 在這里右擊命名-->重構(gòu)-->封裝字段;就這樣就完成啦get方法和set方法了。?
???2.this關(guān)鍵字應(yīng)用
????????this修飾的變量用于指代成員變量,其主要作用是(區(qū)分局部變量和成員變量的重名問題)
方法的形參如果與成員變量同名,不帶this修飾的變量指的是形參,而不是成員變量方法的形參沒有與成員變量同名,不帶this修飾的變量指的是成員變量
代碼如下:
package com.xxgc.ch01.po;public class Car {//把屬性變?yōu)樗接衟rivate String carNo;private String brand;private int price;public String getCarNo() {return carNo;}public void setCarNo(String carNo) {this.carNo = carNo;}public String getBrand() {return brand;}public void setBrand(String brand) {this.brand = brand;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}//對(duì)外產(chǎn)生get set 方法}3.this內(nèi)存原理
this代表當(dāng)前調(diào)用方法的引用,哪個(gè)對(duì)象調(diào)用的方法,this就代表哪一個(gè)對(duì)象
代碼如下(示例):
public class StudentDemo {public static void main(String[] args) { Student s1 = new Student();s1.setName("張三");Student s2 = new Student();s2.setName("李四"); }}圖解:
?
總結(jié)
這里對(duì)文章進(jìn)行總結(jié):
1.?封裝概述 是面向?qū)ο笕筇卣髦?#xff08;封裝,繼承,多態(tài))?是面向?qū)ο缶幊陶Z言對(duì)客觀世界的模擬,客觀世界里成員變量都是隱藏在對(duì)象內(nèi)部的,外界是無法直接操作的
2.?封裝原則 將類的某些信息隱藏在類內(nèi)部,不允許外部程序直接訪問,而是通過該類提供的方法來實(shí)現(xiàn)對(duì)隱藏信息的操作和訪問 成員變量private,提供對(duì)應(yīng)的getXxx()/setXxx()方法
3.?封裝好處 通過方法來控制成員變量的操作,提高了代碼的安全性 把代碼用方法進(jìn)行封裝,提高了代碼的復(fù)用性
以上就是今天要講的內(nèi)容,本文僅僅簡單介紹了Java的意義和使用,而Java是一門面向?qū)ο缶幊萄哉Z也提供了跨平臺(tái)的程序設(shè)計(jì)語言。
總結(jié)
以上是生活随笔為你收集整理的Java封装如何封装 封装的好处是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分屏显示
- 下一篇: 同步助手java_QQ同步助手Java版