06JAVA面向對象之封裝

1、面向對象

一、面向過程和麪向對象

面向過程
分析問題的步驟,而後逐步實現。
面向對象
(1)面向對象基於面向過程
(2)面向對象是找出解決問題的人,而後分配職責。
(3)對象中包含解決問題的步驟

面向對象更接近人的思想
面向對象的優點:高複用,高維護,高擴展java

2、類和對象

類是具備相同屬性和行爲的一類事物的總稱。
      類中包含成員變量和成員方法。

一、例子

public class Student{
      int age;//成員變量
      //成員方法
      public String study(String something){
            return something;
      }
}

二、private關鍵字

被private修飾的成員變量或者成員方法只能在該類中使用。安全

public class Student{
            //被private修飾的成員變量可經過在類中定義成員方法進行獲取或者修改
            private int age;
            public int getAge(){
                  return age;
      }
}

三、構造函數

做用:初始化類
public class Student{
            //被private修飾的成員變量可經過在類中定義成員方法進行獲取或者修改
            private int age;
            public Student(int age){
                  this.age = age;
            }
            public int getAge(){
                  return age;
      }
}

四、this關鍵字:指代實例後的對象

做用場景:類中成員變量和局部變量名稱相同的時候。
若是局部變量和成員變量重名,java採用就近原則

五、成員變量和局部變量的qubie

區別 詳情
在類中的位置 一、成員變量位於類中。
二、局部變量位於類中的方法中。
在內存中的位置 一、成員變量位於堆中。
二、局部變量位於棧中。
生命週期 一、成員變量隨着對象的建立而建立,隨着對象的消失而消失。
二、局部變量隨着成員方法的調用而建立,隨着方法的彈棧而消失。
初始化後的值 一、成員變量有初始化值。
二、局部變量沒有初始化值。

對象

對象是類的實例化
      一個類能夠實例無數對象

3、封裝

一、從數據角度講

封裝將多個基本數據類型封裝成自定義數據類型。
封裝能夠保護數據安全。

二、從行爲角度講

封裝隱藏實現的步驟,對外提供接口訪問。

三、從設計角度來說

(1)、分而治之

將需求拆分,用多個類協同實現,而不是一個類實現全部功能。

(2)、封裝變化

每一個變化點作成一個類

(3)、高內聚

一個類應該只實現一個功能

(4)、低耦合

類與類之間的數據交流應該儘量少
相關文章
相關標籤/搜索