男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站

和對象的差異

盡管 enum 基于類(lèi)和對象,但它們不完全支持對象相關(guān)的所有功能。 尤其是枚舉條目不能有狀態(tài)。

  • 禁止構造、析構函數。
  • 不支持繼承。無(wú)法 extend 一個(gè) enum。
  • 不支持靜態(tài)屬性和對象屬性。
  • 由于枚舉條目是單例對象,所以不支持對象復制
  • 除了下面列舉項,不能使用魔術(shù)方法。

以下對象功能可用,功能和其他對象一致:

  • Public、private、protected 方法。
  • Public、private、protected 靜態(tài)方法。
  • Public、private、protected 類(lèi)常量。
  • enum 可以 implement 任意數量的 interface。
  • 枚舉和它的條目都可以附加 注解。 目標過(guò)濾器 TARGET_CLASS 包括枚舉自身。 目標過(guò)濾器 TARGET_CLASS_CONST 包括枚舉條目。
  • 魔術(shù)方法:__call、__callStatic、 __invoke。
  • 常量 __CLASS____FUNCTION__ 的功能和平時(shí)無(wú)差別

枚舉類(lèi)型的魔術(shù)常量 ::class 和對象完全一樣, 它是個(gè)包含命名空間的類(lèi)型名稱(chēng)。 由于枚舉條目是枚舉類(lèi)型的一個(gè)實(shí)例,因此它的 ::class 也和枚舉類(lèi)型一樣。

此外,不能用 new 直接實(shí)例化枚舉條目, 也不能用 ReflectionClass::newInstanceWithoutConstructor() 反射實(shí)例化。 這么做都會(huì )導致錯誤。

<?php
$clovers 
= new Suit();
// Error: Cannot instantiate enum Suit
$horseshoes = (new ReflectionClass(Suit::class))->newInstanceWithoutConstructor()
// Error: Cannot instantiate enum Suit
?>
男女疯狂一边摸一边做羞羞视频|啊好深好硬快点用力别停动态图|亚洲一区无码中文字幕|特级无码毛片免费视频播放▽|久久狠狠躁免费观看|国内精品久久久久久网站