1. 程式人生 > 實用技巧 >php中,抽象類,最終類,介面,物件克隆,

php中,抽象類,最終類,介面,物件克隆,

1.最終類和最終方法

  • final關鍵字修飾的方法和類
  • 最終類,只能進行例項化,不能繼承
  • 最終方法,可以繼承,但不能重寫

2.抽象類和抽象方法

  • abstract修飾的類和方法
  • 抽象類不能直接例項化,必須先繼承後再例項化
  • 抽象方法必須先繼承再重寫
  • 如果一個類中有抽象方法,該類必須是抽象類
  • 所有的抽象方法都必須被重寫,少一個都不行

3.介面

  • interface關鍵字定義介面,implements用來實現介面
  • 介面預設是抽象方法,不需要加abstract,介面中方法的許可權必須是public
  • 介面中可以定義常量,但是不能重寫,
  • 類可以實現implements多個介面
  • 介面可以 繼承extends介面,類只能實現implements介面

4.類的自動載入

  • 類的自定義載入函式spl_autoload_register()
  • 使用new建立一個不存在的類的物件或者使用靜態化方式訪問一個不存在的類時會自動呼叫spl_autoload_register()
  • 繼承一個不存在的類或發現一個不存在的介面時,會自動呼叫spl_autoload_register()
<?php
spl_autoload_register(function($className)
{
    $arr=array(
        //類檔案存在的路徑
        "./publci/$className.class.php",
        "./lib/$className
.class.php" ); foreach ($arr as $filename) { if (file_exists($filename)) require_once($filename); } });
//建立不存在的類的物件
$obj1=new Student(); $obj2=new Teacher(); ?>

5.物件克隆

建立新物件有2中方式,一個是使用new關鍵字,另一個是使用clone關鍵字。