PHP - 对象(Object)

初始化

在 PHP 中对象必须声明,使用 class 关键字声明对象,类是可以包含属性和方法的结构:

class obj {
   # code
}

在对象中声明的变量叫做对象的 属性

# public: 任何地方都可以访问
# private: 只能由类自身访问
# protected: 在类自身或者父类或者继承类中可以访问

class obj {
    public $message = "PHP语法真奇怪!";
    private $flag = true;
}

在对象中声明的函数叫做对象的 方法

class obj {
    function show(){
        echo 'hello!';
    }
}

创建

在 PHP 中通过 new 关键字创建一个对象:

class obj {
    public $message = "PHP语法真奇怪!";
    private $flag = true;
    function show(){
        echo 'hello!';
    }
}

# 第一种方法
$demo = new obj();

# 第二种方法(不推荐太奇怪了)
$demo = new obj;

使用

在 PHP 中通过 -> 关键符访问属性与方法:

# 声明
class obj {
    public $message = "PHP语法真奇怪!";
    private $flag = true;
    function show(){
        echo 'hello!';
    }
}

# 创建
$demo = new obj();

# 访问属性
echo $demo -> message;//PHP语法真奇怪!
echo $demo -> flag;//Error()

# 访问方法
$demo -> show();//hello!

this指针

在 PHP 中变量 $this 用于引用当前实例化的对象:

# 声明
class obj {
    public $message = "PHP语法真奇怪!";
    function show(){
        echo $this -> message;
    }
}

# 创建
$demo = new obj();

# 测试
$demo -> show();//PHP语法真奇怪!

继承

PHP 的对象模型也使用了继承,继承将会影响到类与类,对象与对象之间的关系。通过 extends 子句完成(子类中同名函数将会覆盖掉父类中的同名函数)。

除非使用了自动加载,否则一个类必须在使用之前被定义。如果一个类扩展了另一个,则父类必须在子类之前被声明。此规则适用于类继承其它类与接口。

# 声明对象(A)
class A {
    public $message = 'PHP是世界上最好的语言';
    public function fun($e){
        echo 'A:' . $e .'<br/>';
    }
}

# 对象 B 继承对象 A
class B extends A {}

# 创建
$A = new A();
$B = new B();

# 利用继承使 B 对象拥有 A 对象的属性与方法
$B -> fun('hello,B');//A:hello,B
发布了261 篇原创文章 · 获赞 408 · 访问量 82万+

猜你喜欢

转载自blog.csdn.net/weixin_44198965/article/details/104333006