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关键字。


浙公网安备 33010602011771号