<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <?php //继承 //子类可以继承父类的一切 //特点:单继承 //函数的重写 //多态 //当父类引用指向子类实例,由于子类对父类的方法进行了重写,父类引用在调用该方法的时候表现出的不同 //如果一个方法需要一个父类的参数,可以给一个子类对象 //静态 //普通成员 //普通成员是属于对象的 //静态成员 //静态成员属于类的 //关键字:static //self关键字:在类里面代表该类 //this关键字:在类里面代表该对象 //在静态方法里面不能调用普通成员 //在普通方法里面能够调用静态成员 /*class FenBi { public $length; //粉笔的长度 public static $color; //粉笔的颜色 static function show() { echo "粉笔颜色是:".self::$color;//静态类里面使用静态成员 } function XianShi() { echo "显示:".self::$color; } } $f = new FenBi(); //先造一个对象 $f->length; //用对象去调用普通成员 FenBi::$color = "红色"; //使用类名调用静态成员 FenBi::show(); $f->XianShi();*/ //抽象 //抽象类:关键字abstract //特点:不能被实例化,只能被继承 //目的:为了派生子类,控制子类 /*abstract class Dog { public $name; function Jiao() { echo "汪汪"; } } class JinMao extends Dog { }*/ //$d = new Dog(); //接口 //极度抽象的类 //接口里面不能包含成员变量,只能包含成员方法 //成员方法可以没有函数体 //接口关键字:interface //实现接口的类,必须实现接口里面的所有方法 interface IUSB //IUSB USB的规则 I开头 表示规则 { function read(); //读的方法 function write(); //写的方法 } //鼠标的驱动类 两个类都要实现 class Mouse implements IUSB { function read() { echo "鼠标点击了"; } function write() { echo "给鼠标一个指令"; } } //键盘的驱动类 class JianPan implements IUSB { function read() { echo "键盘输入了内容"; } function write() { echo "给键盘指令"; } } $m = new Mouse(); $m->write(); $j = new JianPan(); $j->read(); //接口:API //互联网数据公司提供的数据接口 //比如淘宝的接口提供商品的价格 ?> </body> </html>