面向過程 分析問題的步驟,而後逐步實現。
面向對象 (1)面向對象基於面向過程 (2)面向對象是找出解決問題的人,而後分配職責。 (3)對象中包含解決問題的步驟
面向對象更接近人的思想
面向對象的優點:高複用,高維護,高擴展java
類是具備相同屬性和行爲的一類事物的總稱。 類中包含成員變量和成員方法。
public class Student{ int age;//成員變量 //成員方法 public String study(String something){ return something; } }
被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; } }
做用場景:類中成員變量和局部變量名稱相同的時候。 若是局部變量和成員變量重名,java採用就近原則
區別 | 詳情 |
---|---|
在類中的位置 | 一、成員變量位於類中。 二、局部變量位於類中的方法中。 |
在內存中的位置 | 一、成員變量位於堆中。 二、局部變量位於棧中。 |
生命週期 | 一、成員變量隨着對象的建立而建立,隨着對象的消失而消失。 二、局部變量隨着成員方法的調用而建立,隨着方法的彈棧而消失。 |
初始化後的值 | 一、成員變量有初始化值。 二、局部變量沒有初始化值。 |
對象是類的實例化 一個類能夠實例無數對象
封裝將多個基本數據類型封裝成自定義數據類型。 封裝能夠保護數據安全。
封裝隱藏實現的步驟,對外提供接口訪問。
將需求拆分,用多個類協同實現,而不是一個類實現全部功能。
每一個變化點作成一個類
一個類應該只實現一個功能
類與類之間的數據交流應該儘量少