搜尋

首頁  >  問答  >  主體

自訂的方法名稱可以和PDO自帶方法名稱相同嗎?

自訂的方法名稱可以和PDO已經存在的方法名稱相同嗎?例如影片裡面不是自訂了feach()方法嗎,然而feach是PDO裡面的預設方法啊

谭勇谭勇2603 天前1273

全部回覆(1)我來回復

  • 寻觅 beyond

    寻觅 beyond2017-10-13 10:08:24

    不知道那個影片是咋講的,我就照我理解的說吧

    自訂的方法名稱可以和PDO自帶的方法名稱相同,首先你搞清楚作用域,如果你自己寫的資料庫類別沒有繼承PDO類別的話,他們兩個類別裡面的成員屬性和成員函數即使一模一樣,那也是半點關係沒有,呼叫的時候兩個類別的物件實例會分別呼叫自己類別中的函數。

    如果自訂的類別繼承PDO類,然後宣告與PDO類別同名的方法就屬於重寫了,注意fetch是PDOStatement物件的方法,所以即使繼承得失PDO類,如果自訂了fetch,那麼使用的是自己定義fetch方法,而不是PDOStatement對象的fetch;

    還有一種情況是在自訂的類別中new了一個PDO對象,包括上面一種情況,就有一個問題,PDO執行query或execute()之後,回傳的是PDOStatement的物件實例,如果在用這個傳回的實例執行fetch方法,那就是執行的PDOStatement的fetch。

    所以,我也不知道用文字咋說,你實際操作一下就知道了

    回覆
    0
  • 取消回覆