2011-10-06 81 views
0

對不起,這聽起來像一個荒謬的問題,但類中的方法(而不是構造函數)可以在函數聲明中使用參數嗎?類中的方法(而不是構造函數)是否需要參數?

所有我見過的方法(不是構造函數)的例子都沒有傳入變量,而是調用已經在函數體內使用$ this-> someVariable在類中聲明的變量。

回答

4

是的,你當然可以:

class Foo { 
    public function sum($a, $b, $c) { 
     $sum = $a + $b + $c; 

     return $sum; 
    } 
} 

$foo = new Foo(); 
echo $foo->sum(1,2,3); //Displays 6 
2

當然,像任何其他功能一樣。

<?php 

    class Foo { 

     public function displayParameter($param) { 
      return $param; 
     } 

    } 

    $foo = new Foo(); 
    echo $foo->displayParameter("Hello World"); //Displays Hello World 

?> 
-3

是的。如果您想在被調用的方法中更改它們的值,則可以直接或通過引用傳遞參數。讓我推薦了一下閱讀:http://php.net/manual/en/index.php

+2

這樣做通常是不好的做法,在類內部做更糟糕的做法。 –

0

這要看情況。如果一個類表示某個對象,那麼你將擁有可以被函數(方法)訪問的屬性。靜態方法通常接受參數。所以答案是,是的,方法可以接受參數,但是它也取決於你如何使用這個類。

0

類中的方法(而不是構造函數)可以在函數聲明中使用參數嗎?

是的。

相關問題