日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

[Java入门笔记] 面向对象三大特征之:封装

發布時間:2025/3/19 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Java入门笔记] 面向对象三大特征之:封装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

了解封裝

什么是封裝?

在Java的面向對象程序設計中,有三大基本特征:封裝、繼承和多態。首先我們先來看看封裝:

在Java的面對對象程序設計中,封裝(Encapsulation)是指一種將函數功能實作細節部份包裝、隱藏起來的方法。封裝可以被認為是一個保護屏障,防止該類的代碼和數據被外部類定義的代碼隨便訪問。如果要訪問類中的代碼和數據,必須要通過嚴格的控制。

為什么要使用封裝?

使用封裝主要有以下好處:

  • 能夠隱藏該類中一些功能的實現細節。讓調用者通過事先實現好的方法訪問類的功能和數據,同時也限制對類中數據的不合理訪問。
  • 對數據進行檢查,有利于保護對象信息的完整和合理性。
  • 便于對代碼的修改和維護,提高代碼的可維護性。

如何使用封裝?

訪問權限控制符

Java中一共有四個訪問權限控制符,用來對類和對象的數據進行封裝:

修飾符類內部同一個包子類真全局范圍
private???
default??
protected?
public

對于外部類,也可以使用修飾符,不過外部類只能使用public和默認兩種修飾符。

例子

public class Person {//用private修飾符修飾,外部無法訪問private String name; //姓名private int age; //年齡private String idNum; //身份證號//得到該類對象的姓名public String getName() {return name;}//設置該類的對象的姓名,如果傳入空值,則不賦值public void setName(String name) {if(name.length() == 0 || name == null){return;}this.name = name;}//得到年齡public int getAge() {return age;}//設置年齡,當傳入的參數大于等于0時,才將參數設置給該對象public void setAge(int age) {if(age >= 0){this.age = age;}}//得到身份證號public String getIdNum() {return idNum;}//設置身份證號public void setIdNum(String idNum) {this.idNum = idNum;}}

?

上面的例子中我們為該類中的屬性增加了private修飾符,外部無法再直接訪問和修改這些屬性,如果有需要使用,我們則需要為其增加getXxx和setXxx方法訪問這些事項,同時,我們也可以在這些方法中對這些屬性的訪問進行控制,比如姓名不能為空,年齡不能為負數等等。

這樣我們并可見對程序的完整性和合理性進行合理的控制,也能更好的增強代碼的安全性,也使代碼能夠更好的管理與維護。

public class Test {public static void main(String[] args) {Person p = new Person();p.name = "張三"; //錯誤,無法直接訪問p.setName("張三");p.setAge(-5); System.out.println(p.getAge()); //輸出默認值0,盡管我們在上一行代碼中傳入一個數值,但是我們在setAge方法中做了控制,所以傳入的負數并沒有賦給p對象 }}

?

使用原則

關于訪問控制符的使用,我們使用應當盡量符合下面一些原則:

  • 類的大部分成員變量,都應該使用private修飾符,只有一些static、全局變量的Field,才考慮使用public修飾符。
  • 如果某個類主要用作其他類的父類,類中的大部分方法和屬性希望被子類重寫和使用,而又不想被外部直接調用,則應當使用protected修飾符。
  • 希望被暴露出來直接被外部使用的方法,應當使用public修飾符。
  • 一個方法的功能只有在類的內部被調用時,應當使用private修飾符。

?

轉載于:https://www.cnblogs.com/hopeblog/p/5065317.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的[Java入门笔记] 面向对象三大特征之:封装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。