天天看點

JAVA 面向對象 特征一(封裝與隐藏)詳解

前言

耦合度:是指子產品之間的依賴關系,包括控制關系、調用關系、資料傳遞關系。聯系越多,其耦合性越強,同時表明其獨立性越差。

耦合性:在android開發過程中,主要注意的是activity間關聯程度。耦合的強弱取決與activity間意圖的複雜性、調用的方式以及通過界面傳送資料的多少。

我們的程式設計追求就是:‘高内聚,低耦合’

高内聚:類的内部操作細節自己完成,不允許外部幹涉。

封裝性思想:隐藏對象内部的複雜性,隻對外公開簡單的接口,偏于外界調用,進而提高系統的可擴充性,可維護性。

通俗的說:就是把該隐藏的隐藏起來,該暴露的暴露出來,這就是封裝性的設計思想

下面來舉個例子來看看封裝性的展現:

public class demo4 {
    public static void main(String[] args) {
        Animal animal=new Animal();
        animal.name="大黃";
        animal.age=6;
       // animal.legs=2;
        animal.setLegs(-4);
        animal.info();
        System.out.println(animal.getLegs(1));
    }

}
class Animal{
    String name;
    int age;
    private int legs;

    //對屬性的設定
    public void setLegs(int aa){
        if (aa>=0&&aa%2==0){
            legs=aa;
        }else {
            legs=0;
        }
    }
    //擷取屬性的值
    public int getLegs(int legs){
        return legs;
    }

    public void info(){
        System.out.println("name:"+name+",age:"+age+",legs:"+legs);
    }
}
           

對成員變量legs進行的設定,加上權限修飾符private,對屬性進行設定,和擷取值,就是用setLegs()和getLegs()方法,這就是封裝性的一種展現。

比如還有:不對外暴露的私有方法,也是封裝性的展現。

封裝性的展現,需要權限修飾符來配合。

有四種權限修飾符,權限大小由小到大排序為:

private ,預設 ,protected ,public

圖示如下:

JAVA 面向對象 特征一(封裝與隐藏)詳解

這四種修飾符,可以修飾類,以及類的内部的結構:屬性,方法,構造器,内部類

而具體的 修飾類隻可以用:public ,預設

修飾類内部的結構,這四種權限修飾符都可以。

總結封裝性:Java提供了4種權限修飾符來修飾類及類的内部結構,展現類及類的内部結構在被調用時的可見性的大小。