當前位置:首頁 » 編程語言 » php對象的類

php對象的類

發布時間: 2022-04-07 10:16:30

php 中的 對象 類 屬性 實例化 到底是怎麼理解的啊·

我的理解
說一個人養了一隻小狗(定義一個對象),把狗牽過來,擺在面前,讓它確實存在(實例化)。
類,就是類別。人是一類,狗是一類。
屬性就是人的特點,長頭發、白皮膚、黑眼珠。
方法就是人會唱歌、會說話、會跑步跳躍等各種行為。
對象,就是類裡面的一個個體。人類中的每一個人都是一個對象

⑵ php 中如何得到一個對象的類型

得到一個對象的類型,使用gettype()函數:

<?php
echogettype(1);//輸出integer
echogettype(array());//輸出array


得到一個對象是哪個類的實例,使用get_class()函數:

<?php
$o=newstdClass();
echoget_class();//輸出stdClass


得到一個類或對象的方法和屬性,要使用反射:

<?php
classMyClass{
public$var;
publicfunctionfoo(){}
}
$ref=newReflectionClass('MyClass');
$ref->getProperties();//會返回一組對象,用法參考PHP手冊
$ref->getMethods();//會返回一組對象,用法參考PHP手冊

$obj=newMyClass();
$ref=newReflectionObject($obj);
$ref->getProperties();
$ref->getMethods();

⑶ php面向對象 對象和類的區別

類實例化後是對象,對象是類的實例。

⑷ php類和對象問題

$this 的含義是表示 實例化後的 具體對象!

我們一般是先聲明一個類,然後用這個類去實例化對象!

但是,當我們在聲明這個類的時候,想在類本身內部使用本類的屬性或者方法。應該怎麼表示呢?

例如:

我聲明一個User類!它只含有一個屬性 $name;

class User
{
public $_name;
}

現在,我給User類加個方法。就用getName()方法,輸出$name屬性的值吧! 復制PHP內容到剪貼板
PHP代碼:
class User
{
public $name;

function getName()
{
echo $this->name;
}
}

//如何使用呢?

$user1 = new User();

$user1->name = '張三';

$user1->getName(); //這里就會輸出張三!

$user2 = new User();

$user2->name = '李四';

$user2->getName(); //這里會輸出李四!

怎麼理解呢?

我上面創建了兩個User對象。分別是 $user1 和 $user2 。

當我調用 $user1->getName()的時候。 上面User類中的代碼 echo $this->name ; 就是相當於是 echo $user1->name;

----------------------------------------->>>補充一下>>>

有static修飾的變數和函數不能出現$this
你看到的函數一定沒有static

建議你系統的學習一下PHP,這樣瞎猜是很浪費時間的

static $a1和self::$a1或者$a::$a1是一起使用的。
var $a1和$this->a1是一起使用的

class Abc{
static $a1;
}
class Abc{
var $a1;
}
兩個$a1是不同的。
第一個用self::$a1或者$a::$a1引用,
第二個用$this->$a1或者$a->a1引用

首先static的函數里不能出現$this,只能是self

class Abc{
public static $a1 = "im a1!<br/>";
public static function go()
{
echo(self::$a1);

}
}

Abc::go();
?>

⑸ PHP中面向對象的類中,屬性都允許哪些數據類型

對屬性或方法的訪問控制,是通過在前面添加關鍵字 public、protected 或 private 來實現的。由 public 所定義的類成員可以在任何地方被訪問;由 protected 所定義的類成員則可以被其所在類的子類和父類訪問(當然,該成員所在的類也可以訪問);而由 private 定義的類成員則只能被其所在類訪問。

⑹ PHP中,一個類的屬性怎樣定義為另一個類

當你聲明一個類,你需要列出對象應有的所有變數和所有函數?被稱為屬性和方法圖1中顯示了一個類的構成. 注意在大括弧({})內你只能聲明變數或者函數. 圖2中顯示了如何在一個類中定義三個屬性和兩個方法.
以下為引用的內容:
class Name extends Another Class
{
Access Variable Declaration
Access Function Declaration
}
name = $name;
$this->password = $password;
$this->lastLogin = time();
$this->accesses++;
}
// 獲取最後訪問的時間
function getLastLogin()
{
return(date("M d Y", $this->lastLogin));
}
}
//創建一個對象的實例
$user = new User("Leon", "sdf123");
//獲取最後訪問的時間
print($user->getLastLogin() ."\n");
//列印用戶名
print("$user->name\n");
?>
當你聲明屬性,你不需要指明數據類型. 變數可能是整型,字元串或者是另一個對象,這取決於實際情況.在聲明屬性時增加註釋是一個好主意,標記上屬性的含義和數據類型.
當你聲明一個方法,你所做的和在類外部定義一個函數是一樣的. 方法和屬性都有各自的命名空間. 這意味著你可以安全地建立一個與類外部函數同名的方法,兩者不會沖突. 例如,一個類中可以定義一個名為date()的方法. 但是你不能將一個方法命名為PHP的關鍵字,如for或者while.
類方法可能包含PHP中所謂的type hint. Type hint 是另一個傳遞參數給方法的類的名字. 如果你的腳本調用方法並傳遞一個不是類的實例的變數,PHP將產生一個」致命(fatal)錯誤」 . 你可能沒有給其它類型給出type hint,就像整型,字元串,或者布爾值. 在書寫的時候, type hint是否應當包含數組類型仍存在爭議.
Type hint是測試函數參數或者運算符的實例的數據類型的捷徑. 你可能總是返回這個方法. 確認你強制讓一個參數必須是哪種數據類型,如整型. 圖3 確保編譯類只產生Widget的實例
以下為引用的內容:
<?php
//組件
class Widget
{
public $name='none';
public $created=FALSE;
}
//裝配器
class Assembler
{
public function make(Widget $w)
{
print("Making $w->name\n");
$w->created=TRUE;
}
}
//建立一個組件對象
$thing = new Widget;
$thing->name = 'Gadget';
//裝配組件
Assembler::make($thing);
?>
除了傳遞參數的變數外,方法含有一個特殊的變數. 它代表類的個別實例. 你應當用這個來指向對象的屬性和其它方法.一些面向對象的語言假設一個不合格的變數提交給本地屬性,但在PHP中方法的任何變數只是在方法的一定范圍內. 注意在User類的構造函數中這個變數的使用

⑺ php中如何找到對象所屬的類

PHP內置了相關的函數可以滿足你的要求。詳細解答如下:

echoget_class($obj);//


不過實戰中很少使用這種方式,因為獲得類名並沒有實際意義,只是在特殊情況下無法跟蹤代碼時臨時調試一下而已。


實戰用常用的方式是

if($objinstanceofCat)//$obj是Cat類的實例嗎?
if($objinstanceofAnimal)//$obj是Animal類的實例嗎?


希望以上回答能幫助到你,有用望採納,有疑問請追問。

⑻ PHP中如何定義對象類型數組

應該是存到對象屬性中吧
你把
public function setDepartment($department)
{
$this->department=$department;
}
改成
public function setDepartment($department)
{
$this->department[]=$department;
}
即可
private $department;
要不要改成
private $department=array();
其實無所謂

⑼ php 類 對象 實例

&是引用的意思,引用和和c指針差不多,但不能進行數學運算,可以認為引用是一個變數的別名

$assigned = $instance;
//$assigned 是個新變數,然後把$instance的值賦給$assigned
$reference =& $instance;
//$reference是$instance的引用,或者說$reference是$instance的別名,這兩個其實是一個變數,地址都是一樣的

$reference->var6 = '$assigned will have this value';
//因為$reference是$instance的引用(或別名),所以$instance->var6也變了
$instance = null;
//這個也是同理,$reference和$instance是一個變數

//$assigned一直沒有變,因為$assigned和$instance($reference)是兩個變數

⑽ php中類與對象的區別和關系是什麼

舉個例,類就好比人類,類有各種屬性和各種方法,就像人類有姓名,年齡,身高,體重等屬性,也有吃飯,睡覺,走路等行為(方法)。而對象,就是具體的一個人,是從人類這個類里實例化出來的一個對象,這個人具有人類的各種屬性和方法。如果把上面這對話寫成代碼的話,就是

class 人類{
public $姓名, $年齡, $身高, $體重……
public function 吃飯(){
……
}
public function 睡覺(){
……
}
public function 走路(){
……
}
……
}
$人=new 人類;

$人->姓名='李雷';
$人->年齡=30;
$人->身高=175;
$人->姓名=75;
$人->吃飯();
……
這就是類和對象的區別和關系。

熱點內容
安卓鴻蒙蘋果哪個好用 發布:2025-01-19 10:32:33 瀏覽:264
正規物業保安怎麼配置 發布:2025-01-19 10:27:30 瀏覽:518
斷裂下載ftp 發布:2025-01-19 10:27:30 瀏覽:641
安卓導航怎麼調對比度 發布:2025-01-19 10:26:52 瀏覽:25
伺服器共享文件如何查看訪問記錄 發布:2025-01-19 10:08:55 瀏覽:400
datasourceSQL 發布:2025-01-19 10:01:25 瀏覽:838
aspnet網站的編譯 發布:2025-01-19 10:00:49 瀏覽:334
路特仕A9工廠密碼是多少 發布:2025-01-19 09:59:44 瀏覽:257
linux的命令find 發布:2025-01-19 09:42:55 瀏覽:174
簡單的計算機編程 發布:2025-01-19 09:39:54 瀏覽:520