1. 程式人生 > >PHP的繼承方法如何獲取子類名?get_class() 和 get_called_class()

PHP的繼承方法如何獲取子類名?get_class() 和 get_called_class()

   

PHP裡的__CLASS__這類東西是靜態繫結的,如果不在子類裡過載的話,那麼繼承父類方法所得到的依舊是父類的名稱,而不是子類的名稱,比如:

01 <?php
02 class A
03 {
04 function __construct()
05 {
06 echo __CLASS__;
07 }
08
09 static function name()
10 {
11 echo __CLASS__;
12 }
13 }
14
15 class extends A

相關推薦

PHP繼承方法如何獲取get_class() get_called_class()

    PHP裡的__CLASS__這類東西是靜態繫結的,如果不在子類裡過載的話,那麼繼承父類方法所得到的依舊是父類的名稱,而不是子類的名稱,比如: 01 <?php 02 cla

繼承(父為虛方法以及的重寫)

虛擬現實 real 示例代碼 eal each str ons string ide 定義父類為虛方法時需要關鍵字 virtual 子類重寫需要關鍵字 override 示例代碼: //父類 public class People { //虛方

繼承:在構造方法中呼叫父的構造方法

  abstract class Pet { private String name; private String sex; public Pet(String name,String sex) { this.nam

java基礎------>繼承--->屬性(在中呼叫父類同屬性的兩種方式)

在今天的繼承複習當中,我有對繼承中的屬性有新的感悟------>子類繼承父類,會繼承父類的方法和屬性,看下圖 從上圖可以看出,即使子類是一個空殼,他還是從父類獲取到父類的屬性name 和方法 test() 但是接下來我說的就是一個小重點--->在繼承當中,

自己試驗在spring的環繞通知裡獲取目標物件的目標方法的引數,用於根據自定義註解判斷訪問許可權,有沒有更好的辦法,高手指點一下

public Object doInBusiness(ProceedingJoinPoint pjp) throws Throwable{   Object[] args = pjp.getArgs();   Class[] argsClass = new Class[ar

js封裝獲取元素(className)的方法

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head

Java獲取當前的兩種方法

tcl tac style name () getmethod sta stack trace 適用於非靜態方法 this.getClass().getName() 適用於靜態方法 //獲取類名Thread.currentThread().getSt

如何獲取傳遞的泛型

str 父類 image 轉載 class argument pretty edge pub 權聲明:本文為博主原創文章,未經博主允許不得轉載。package com.reflect.other; import java.io.Serializable; /** *

通過js獲取class的函數封裝

clas ret -1 .class class urn getclass ++ 不同 通過className獲取元素,不同的瀏覽器會有不同的支持情況,所以為了兼容各個瀏覽器在這裏,我寫了幾個函數獲取className的值 function byclass(classn){

JAVA在泛型基獲取傳遞的泛型參數

throw oca abstract () current 全部 getclass back charset 最近在開發微信代扣,涉及大量HTTP調用微信,就寫了一個泛型模板,將序列化,反序列化,HTTP調用全部整合至泛型基類中. public abstract cla

靜態方法只能通過調用嗎?

作者 tail tails http source 方法調用 地址 new net 靜態方法調用的三種方式: 1、new xx().靜態(); //使用對象調用,不推薦2、xx.靜態(); //類名調用,正規調用方法,推薦 3、靜態(); //本類的靜態方法在本類調用,直

vue父元件主動獲取元件的資料方法

父元件主動獲取子元件的資料和方法: 1.呼叫子元件的時候定義一個ref <v-header ref="header"></v-header> 2.在父元件裡面通過 this.$refs.header.屬性 this.$refs.header.方法 <templa

vue 父元件主動獲取元件的資料方法 元件主動獲取父元件的資料方法

Header.vue 1 <template> 2 3 4 <div> 5 6 <h2>我是頭部元件</h2> 7 8 9 <button @click="

匿名物件體內部的方法呼叫 new () {{方法呼叫列表}}

問題出場: mybatis-3.4.5 文件 第八章Statement Builders程式碼段(頁碼:89/97): SQL語句構建器 private String selectPersonSql()

Java程式碼獲取當前方法名

1、獲取類名 非靜態方法:this.getClass().getName(); 靜態方法:Thread.currentThread().getStackTrace()[1].getClassName(); private static void getString() {

MyBatis 獲取的屬性

這裡有個model類:基類:public class user { public int getId() { return id; } public vo

Java獲取當前、方法名

轉載自:http://blog.csdn.net/a578559967/article/details/7688971 為了測試各個函式,如果手動列印每個類名、函式名,那麼多函式的話能把人累死,Java早已準備好了一堆記錄自身的函式。 獲取類名: public st

Javase易錯之方法重寫 方法返回值應比父返回值更小或相等

很多初學者都認為javase方法重寫子類方法返回值型別應和父類方法返回值應 該相等,其實不然。  子類重寫方法的返回值必須比父類方法的返回值小或相等的意思是說  子類重寫方法的返回值型別應為父類方

Spring IOC refresh()方法——告訴重新整理內部bean工廠

告訴子類重新整理內部bean工廠。 /** * Tell the subclass to refresh the internal bean factory. * @return the fresh BeanFactory inst

獲取泛型

public class Parent<T> { // 用於接收傳遞的clazz private Class clazz; // 獲取子類傳遞給他的具體泛型型別 public Parent() {