類的概念

面向對象

  • 面向過程

    • 關注點在過程,用過程中的一個個方法完成功能。
  • 面向對象

    • 設計出發點:更能直接描述問題域中,客觀存在的事務
    • 基本思想: 從現實世界中客觀存在的事物出發來構造軟件系統,並在系統的構造中儘可能運用人類自然思維方式
    • 理解:
      • 屬性和方法從屬於對象
      • 按照對象組織代碼,更符合對現實問題的抽象
      • 有利於代碼的封裝,複用,擴展和維護

類和對象

對象:是用計算機語言對問題域中事物的描述。
類: 描述同一類型的對象的抽象的概念,是對象的模板的描述。
類是模板,對象是一個實例

變量

  • 成員變量與局部變量的區別
    • 在類中的位置不同
      • 成員變量:方法中
      • 局部變量:類中,方法外
    • 在內存堆中
      • 成員變量:在內存堆中
      • 局部變量: 在內存棧中
    • 生命週期不同
      • 成員變量: 靜態隨類,非靜態隨對象
      • 局部變量:隨方法
    • 初始值不同
      • 成員變量:有默認初始值
      • 局部變量:沒有默認值,必須定義,賦值,然後才能使用
    • 修飾符不同
      • 成員變量:可以有修飾符
      • 局部變量: 不能有修飾符
    • 作用域
      • 成員變量:定義開始到類結束的位置
      • 局部變量:定義開始到方法結束的位置

方法

解決一類問題的代碼的有序組合。

  • 重複執行的代碼,命名爲一個方法,方便重複使用
  • 方便自上而下解決問題
  • 方便代碼維護

語法格式

修飾符 返回值類型 方法名 (參數類型 參數名){
    執行語句
    return 返回值
}
  • 修飾符

    • 權限修飾符
    • 靜態修飾符
    • 最終修飾符
  • 參數的傳遞

    • 把指定的數值,傳遞給方法中的參數
    • 定義方法時,參數列表中的變量,形式參數
    • 調用方法時,傳入給方法的數值,實際參數
    • 形式參數的類型 大於等於 實際參數的類型
    • 返回值類型 大於等於 方法內return的數據類型
  • 值傳遞和引用傳遞

    • 基本類型作爲參數傳遞時

      • 值傳遞,傳遞的是值的副本,不會改變實際參數的值
      • 形式參數的改變不會影響實際參數的值
    • 引用數據類型作爲傳輸傳遞時

      • 引用傳遞,傳遞的是引用,通過引用會改變實際參數的值
      • 形式參數的改變會影響實際參數的值
    • 差別原因是

      • 基本數據類型,實際值存放在內存棧中,直接操作實際值
      • 值傳遞時,改變的是副本的值不會改變原始數據
      • 引用數據類型,引用存放在內存棧中,實際值存放在內存堆中,會根據引用找到內存堆中的實際值,對實際值進行操作
      • 引用傳遞時,是將形式參數建立引用聯繫到內存堆中的實際值,這樣實際參數和形式參數都引用到同一個內存堆中的實際值,因此任何一個改變也會引起另一個改變。
  • 方法重載

    一個類中定義多個名稱相同的方法,但是參數的類型或者個數必須不同

    • 同一個類中,方法名必須相同
    • 重載方法的參數必須不同

      • 參數個數不同
      • 參數類型不同
      • 參數順序不同
    • 重載只與方法名和參數類型有關,與返回值無關

    • 重載與具體的變量標識符無關
  • 遞歸結構

    • 自己調用自己,
    • 任何可用遞歸解決的問題都可用迭代解決
    • 結構:
      • 遞歸頭: 解答什麼時候不調用自身方法
      • 遞歸體: 解答什麼時候需要調用自身的方法
    • 缺陷
      • 佔用內存和耗用多,效率低
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章