1. 程式人生 > 實用技巧 >Java面向物件——封裝性

Java面向物件——封裝性

我們程式設計追求”高內聚,低耦合“:

  • 高內聚:類的內部資料操作細節自己完成,不允許外部干涉
  • 低耦合:僅對外部暴露少量的方法用於使用

隱藏物件內部的複雜性,只對外部公開簡單的介面。便於外界呼叫,從而提高系統的可擴充套件性、可維護性。通俗的說,把該隱藏的隱藏起來,該暴露的暴露出來,這就是封裝性的設計思想。

1.問題的引入

當我們建立一個類的物件以後,我們可以通過“物件.屬性”的方式,對物件的屬性進行賦值。這裡,賦值操作要受屬性的資料型別和儲存範圍的制約。除此之外,沒有其他制約條件。但是,在實際問題中,我們往往需要給屬性賦值加入額外的限制條件。這個條件就不能在屬性宣告時體現,我們只能通過方法進行限制條件的新增。

2.封裝性的體現

  • 我們將類的屬性私有化(private),同時,提供公共的(public)方法來獲取(getxxx)和設定(setxxx)的值。
  • 不對外暴露私有的方法
  • 單例模式
  • 。。。

示例:

package com.xlx.java;

public class HelloWorld {
    public static void main(String[] args) {
        Animal a1=new Animal();
        a1.setAge(100);
        a1.getAge();
    }
}

class Animal{
    private
int age; public int getAge() { return age; } public void setAge(int a) { age=a; } }