歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java基礎知識:接口、抽象類與抽象函數

Java基礎知識:接口、抽象類與抽象函數

日期:2017/3/1 9:10:40   编辑:Linux編程

Java基礎知識:抽象類與抽象函數

  • interface是一種特殊的class
    • 接口是純抽象類
    • 所有的成員函數都是抽象函數;
  • 所有的成員變量都是public static final;
  • 接口是為了方便類的調用
  • 一個類如果要去實現某個接口,要加 implements 接口名

Java基礎知識:抽象類與抽象函數

  • abstract class
  • 抽象類不能制造對象,但是可以定義變量,賦給這個變量的一定是他非抽象子類的對象;
  • 抽象類中的抽象函數沒有函數體,例如:public abstract void move();
  • 一個抽象類可以沒有任何抽象方法,所有的方法都有方法體,但是整個類是抽象的。
  • 抽象類中所有的的抽象函數必需子類的覆蓋,而非抽象函數不需要覆蓋。因為子類會繼承父類的函數,如果不去覆蓋繼承來的抽象函數,那麼子類就含有抽象函數,含有抽象函數的類必須要聲明為抽象類。
  • 設計這樣的抽象類主要是為了防止制造它的對象出來。

Java(OOP)程序的設計原則

  • 避免代碼復制。解決方案:函數、父類;
  • 封裝。盡量private每個類的成員變量,用操作封裝數據,減少類與類之間成員變量的直接調用,而是調用method,降低耦合;
  • 可擴展性最大化。盡量使用框架+數據的模式,可以使用容器,避免硬編碼。避免以後功能擴展的時候做大規模的代碼改造。

Java中的類都是單根結構,所有的類都歸結於Object類,所有的類都是Object的子類。Object類中有一個to String函數,所以在其他類中編寫to String函數時會出現override的提示。

對於設計一個具有復雜框架的程序來說,降低耦合的一個重要方法是 讓函數都定義在它所針對的那個對象的類裡,讓那個類能夠自己解決自己的問題。

Copyright © Linux教程網 All Rights Reserved