DAY03 抽象類 介面

2021-10-02 15:44:26 字數 1576 閱讀 2410

為什麼要有抽象類?(主要的方向是:安全)

使用抽象類的好處

有個介面叫flyanimalaction,裡面有flying方法和eat方法

有個類叫做蚊子,蚊子要實現flying和eat方法

有個類叫做蒼蠅,蒼蠅要實現flying和eat方法

然後你會發現所有飛行動物都要實現這兩個介面,很是麻煩

此時抽象類的作用就出來了,建立乙個flyanimal抽象類,然後實現上述介面

在抽象類中實現flying方法,因為大多數動物的飛行動作都是一樣

而eat方法則是寫成抽象方法,因為大多數動物吃東西的動作是不同的

然後,我們重新設計那兩個類就很簡單了

我們只需要繼承那個flyanimal抽象類,實現eat方法方法即可

抽象類規則

抽象類的特性

定義:介面是比抽象類更加抽象,他是完全抽象的類,只提供介面部分,沒有任何具體實現

為什麼需要介面?

使用介面的好處

介面規則

使用繼承擴充套件介面

public

class

test

}class

subextends

supclass

supimplements

interfc

@override

public

void

hello1()

@override

public

void

hello2()

}inte***ce

inte***

inte***ce

interfb

inte***ce

interfc

extends

inte***

,interfb

組合介面時名字衝突

適配介面(對應策略模式)

介面中的域(例項變數):都是static final的

巢狀介面

介面與工廠

對於建立類,幾乎在任何時刻,都可以代替為建立乙個介面和乙個工廠

inte***ce

game

inte***ce

gamefactory

class

checkers

implements

game

}class

chess

implements

game

}class

gamefactoryimpl1

implements

gamefactory

}class

gamefactoryimpl2

implements

gamefactory

}//業務邏輯

public

class

games

}public

static

void

main

(string[

] args)

}

介面與抽象類之間的關係

day03 介面 多型

介面可以定義一定的規則,利用這些規定給類進行功能擴充套件。定義介面 public inte ce 介面名1 定義介面 public inte ce 介面名2 實現介面 public class 類名 implements 介面名1 介面名2 override public void 方法名2 成員變...

介面,抽象類

介面 用inte ce定義介面 由常量定義和方法定義兩部分組成 格式 修飾符 inte ce a extends b 在類中實現介面,方法名 返回值型別 引數的個數和型別必須與介面中完全一致 實現介面中所有方法 實現多個介面,中間用逗號分隔 抽象類包含抽象方法的乙個類 沒有足夠資訊描繪物件 用abs...

抽象類 介面

抽象類中的抽象方法禁止寫任何實現 1,a 抽象類不能被繼承 b 抽象方法不能有任何實現,一切實現都在子類中 c 抽象類中可以有非抽象方法,但是非抽象類絕對不能有抽象方法 class program public abstract class person public class chinese p...