當前位置:首頁 » 編程語言 » php獲取子類

php獲取子類

發布時間: 2022-04-05 05:19:21

php中父類里調用子類的方法

無解,除非是靜態public方法,function前加static,可以testB::demo2()這樣調用
子類重寫之後的方法父類沒法調用,換句話說,父類咋知道自己會被哪個子類繼承呢,就算你強轉虛表也不一樣,無解的問題
而且父類咋需要調用子類的方法呢,就算你以後實踐中有這樣的需求,也只能說明你設計上不合理

⑵ PHP中如何獲得當前類的名稱,而實例化後獲取子類的名稱

class a{
var $curIns;
function __construct(){
$this->curIns= get_class($this);
}
}

class b extends a{
function __construct(){
parent::__construct();
echo $this->curIns;
}

}

new b(); //這里會輸出b

⑶ php 繼承怎麼調用子類的新方法

這樣不行,也不符合邏輯,因為父類不會知道子類定義了什麼方法,所以,父類去調用子類就不合理。如果還有不懂的話,可以去後盾人學習學習,裡面真的有不錯的資料,相信你可以的

⑷ 關於PHP繼承的問題,父類方法訪問子類屬性

把class b 中的private改成protected 或者public就不出錯了
private 不允許繼承類成員調用
protected 所有繼承類成員都能用
public 所有成員都能調用

⑸ PHP中一個子類繼承父類後,如何獲取父類中的該private聲明的屬性呢

私有屬性 誰都不可見 不能直接用 在子類中不可用
所謂的繼承使子類擁有父類所有的屬性和方法其實可以這樣理解,子類對象確實擁有父類對象中所有的屬性和方法,但是父類對象中的私有屬性和方法,子類是無法訪問到的,只是擁有,但不能使用。

public class A {
private int a;

public int getA(){
return a;
}
public void setA(int a){
this.a=a;
}

}
public class B extends A{
private int b;

public int getB() {
return b;
}

public void setB(int b) {
this.b = b;
}

}
public class C extends B {
private int c;
public int getC() {
return c;
}

public void setC(int c) {
this.c = c;
}
}
那麼當C c1=new C()時。c1可以使用setA()getA()訪問控制從A類中繼承來的私有屬性a;

⑹ php 如何在父類訪問子類的屬性

可以

用$this就可以了。

靜態的屬性直接用類名訪問

⑺ php如何獲取父類下所有子類Id

今天做項目時遇到php如何獲取父類下所有子類Id??,把代碼分享給大家。


復制代碼代碼如下:
functiongetChildrenIds($sort_id)
{
$db=$this->loadDB();
$ids='';
$sql="SELECT*FROMt_deptWHERE`parent_id`='{$sort_id}'";
$query=$db->query($sql);
$result=$query->result_array();

if($result)
{
foreach($resultas$key=>$val)
{
$ids.=','.$val['id'];
$ids.=$this->getChildrenIds($val['id']);
}
}
return$ids;
}

⑻ php 知道父類id查找所有子類id,怎麼寫。

functiongetAllIds($id)
{
$res=mysql_query("select*from`表名`wherefather_id='$id'");
while($row=mysql_fetch_array($res,MYSQL_ASSOC))
{
print_r($row);
getAllIds($row['class_id']);
}
}

⑼ PHP如何在父類中定義子類

<?
class father{
public $name;
public function __construct($name){
$this->name=$name;
}
public function show(){

return "這是".$this->name;
}
}
//子類的定義
class child extends father{

public function test(){
return "這是子類的一個函數";
}

}
//父類實例化
$p = new father("父類");
//子類實例化
$p2 = new child("子類");
echo $p->show();
echo "<br>";
//子類調用父類的函數
echo $p2->show();
echo "<br>";
//子類調用自己的函數
echo $p2->test();

?>

⑽ PHP獲取類名的一個問題(基類獲取子類名)

從父類中獲得子類名稱,並不是不可能,
但是,這樣做嚴重違背設計原則,屬於設計錯誤。設計上不及格。。
應該檢討自己的需求和模型設計。

把具體應用情況說一說,我看看哪裡做扭曲了

熱點內容
軒逸手動經典有哪些配置 發布:2025-09-18 20:20:40 瀏覽:619
安卓手機下載軟體在哪裡設置密碼 發布:2025-09-18 20:10:08 瀏覽:602
net業務緩存框架 發布:2025-09-18 19:57:14 瀏覽:9
pythonrst 發布:2025-09-18 19:28:50 瀏覽:407
頁面訪問在線升級 發布:2025-09-18 19:13:46 瀏覽:776
相機存儲滿 發布:2025-09-18 19:12:19 瀏覽:757
如何搭載我的世界伺服器 發布:2025-09-18 19:02:39 瀏覽:429
c語言組框 發布:2025-09-18 19:02:23 瀏覽:945
如何看見真我手機的全部配置 發布:2025-09-18 18:48:10 瀏覽:978
戰地5默認是什麼伺服器 發布:2025-09-18 17:59:32 瀏覽:313