面對物件 抽象類,介面

2021-09-28 17:18:43 字數 2296 閱讀 9767

面對物件——介面

類與類,類與介面,介面與介面的關係:

面對物件——抽象類和介面的區別:

面對物件——抽象類

抽象類基礎概念:

抽象類的特點及成員特點:

public

class

test}--

----

----

----

----

----

----

----

----

----

----

-輸出:

抽象類初始化已經呼叫!

cat類初始化函式已經被呼叫!

1小貓咪

10歲的小貓咪要吃小魚幹!

10歲的小貓咪在白天睡覺!

10歲的小貓咪會抓老鼠!

public

abstract

class

animal

//定義吃飯的抽象方法:(具體由子類自己來實現)

public

abstract

void

eat();

//定義睡覺的抽象方法:(具體由子類自己來實現)

public

abstract

void

sleep()

;}

package westos.org.test2;

public

class

catextends

animal

@override

public

void

eat(

)@override

public

void

sleep()

public

void

catchmouse()

}

package westos.org.test2;

public

class

dogextends

animal

@override

public

void

sleep()

public

void

watchdoor()

}

e. :抽象類的子類:

要麼是抽象類

要麼重寫抽象類中的所有抽象方法(否則,它也必須是乙個抽象類)

引出乙個問題:抽象類的構造函式呼叫必須依靠多型?(個人認為單純的繼承也可以!已證實:可以)

示例:

public

class

test}--

----

----

----

----

----

----

----

----

----

----

----

----

----

-輸出:

抽象類初始化已經呼叫!

cat類初始化函式已經被呼叫!

10歲的小貓咪要吃小魚幹!

10歲的小貓咪在白天睡覺!

10歲的小貓咪在白天睡覺!

抽象類的成員特點:

a. 成員變數:既可以是變數,也可以是常量。

b. 構造方法:有。

用於子類訪問父類資料的初始化。

c. 成員方法:既可以是抽象的,也可以是非抽象的。

注意:abstract 不能修飾變數;

抽象類的成員方法特性:

抽象方法:強制要求子類做的事情。(強制子類重寫抽象類中定義的抽象方法)

非抽象方法 :子類繼承的事情(功能),提高**復用性。(但子類也可以重寫非抽象類的方法!)

抽象類的常見問題:

面對物件——介面

介面的概念:

介面的特點:

可以是抽象類。但是意義不大。

可以是具體類。要重寫介面中的所有抽象方法。(推薦方案)

如果你不想重寫,你這個類可以作為乙個抽象類,將介面中的抽象方法繼承下來即可(一般不推薦這麼做,沒啥意義!)1的細化描述!

介面中的方法存在預設修飾符 public abstract

示例:

inte***ce

aa

介面中的成員特點:

介面的示例:

類與類,類與介面,介面與介面的關係:

面對物件——抽象類和介面的區別:

python 面對物件 類

一.類體 類體一般有兩部分組成 變數部分,也叫靜態變數,靜態欄位.方法 函式 部分.class person 類體 兩部分 變數部分,方法 函式 部分 mind 有思想 變數,靜態變數,靜態字段 animal 高階動物 faith 有信仰 def init self,name,age,hobby s...

物件導向 介面類 抽象類

python 沒有介面這個概念 介面類,抽象類 制定乙個規範.介面類,抽象類 python中就是一樣的 1,歸一化設計.2,制定乙個規範,凡是繼承我類的類,必須有我規定的方法.第一版class alipay def init self,money self.money money defpay se...

mysql面對物件 面對物件資料庫

物件導向的方式訪問資料庫 造物件 db new mysqli localhost root 123 mydb 判斷連線是否出錯 if mysqli connect error mysqli connect error or die 連線失敗!寫sql語句 sql insert into info v...