PHP中子類如何呼叫抽象類中的非抽象方法

2021-03-04 05:07:40 字數 375 閱讀 2783

1樓:匿名使用者

abstract class a

}class f extends a

}$m=new f();

$m->d();

2樓:敬揚圭景天

你要搞清楚變數和屬性,你想用super(name)是想通過繼承來訪問name,那麼name必須是屬性,

屬性就是通過訪問器來訪問,這樣定義privatestring

name

而你的private

string

name是區域性變數,使用域離開本類就失效

,還有一點補充,你要想在繼承的類中使用,屬性修飾符應為protected

或者是public

如果在抽象類中定義私有變數,子類繼承抽象類後,子類中的方法需要訪問抽象類中定義的私有變數怎麼辦

私有的子類是不可以用的。但是如果想訪問父類的私有變數或者改變私有變數,可以在超類中定義兩個方法get set 在抽象父類裡定義兩個setter getter方法。抽象類不是必須有抽象方法。定義私有變數主要是防new的 你把類定為靜態,或者把變數定義為靜態,等都可以訪問 set,get來獲取 priv...

c抽象類和普通類的區別,java中抽象類和介面的區別?

1.c 沒有abstract.vc提供了乙個inte ce 2.抽象類就是指不能例項化的類,因為它們包含了純虛方法。3.虛函式是在申明的時候用了關鍵字virtual的類的 非靜態 成員函式 java中抽象類和介面的區別?抽象類是用來捕捉子類的通用特性的 它不能被例項化,只能被用作子類的超類。抽象類是...

java中的抽象類和介面該怎麼理解?定義上有什麼區

在物件導向的概念中,我們知道 所有的物件都是通過類來描繪的,但是並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。抽象類往往用來表徵我們在對問題領域進行分析 設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象,我們不能把...