类里面的成员有静态成员和普通成员
静态成员赋值取值
<?php
class FenBi{
public $lenth;//普通成员变量属于对象
public static $color;//静态成员关键字static属于类
}
FenBi::$color = "红色";//给静态成员赋值
FenBi::$color;//静态成员取值
?>
普通成员赋值取值
<?php
class FenBi{
public $lenth;//普通成员变量属于对象
public static $color;//静态成员关键字static属于类
}
FenBi::$color = "红色";//给静态成员赋值
FenBi::$color;//静态成员取值
$f = new FenBi();//实例化
$f->lenth = "15CM";
?>
静态方法
<?php
class FenBi{
public static function test(){//静态方法关键字
echo"这是静态方法";
}
}
FenBi::test();
?>
静态方法里不能有普通成员(普通成员调用需要实例化,静态方法不需要实例化)
普通方法里可以有静态成员
<?php
class FenBi{
public $lenth;
public static $color;
public function test(){
echo "颜色为".FenBi::$color;
}
}
FenBi::$color = "红色";
FenBi::$color;
$f = new FenBi();
$f->test();
?>
静态方法实例
<?php
class A{
public function chuanzhi(){
B::$b = "张三";
}
}
class B{
public static $b;
}
$a = new A();
$a->chuanzhi();
echo B::$b
?>
构造函数方法
<?php
class A{
public function chuanzhi(){
var_dump(new B("张三"));
}
}
class B{
public $b;
public function __construct($b){
$this->b = $b;
}
}
$a = new A();
$a->chuanzhi();
?>
抽象
抽象类:类本身就是抽象的,抽象类就是更加抽象的类,无法直接实例化对象,主要作为父类存在可以派生子类。
抽象方法:抽象的一个方法,不能直接调用主要用来让子类事项
子类继承父类的抽象方法,不过子类不重写,那么子类必须为抽象类。
<?php
abstract class Ren{
public abstract function test();//抽象方法不需要加{}
}
class china extends Ren{
public function test(){
echo "方法重写";
}//重写抽象类方法
}
$a = new China();
$a->test();
?>
抽象类里可以有抽象方法和普通方法
接口
里面只能有抽象方法,不能有别的
接口是极度抽象的类
接口有面向对象的接口和API:网络数据接口。
<?php
interface USB{
public function read();
public function write();
}//面向对象的接口关键字interface
class ShuBiao implements USB{//关键字不再是extends 关键字是implements
function read(){
echo"鼠标插入<br>";
}
function write(){
echo"正常使用";
}
}
$a = new ShuBiao();
$a->read();
$a->write();
?>