学习php面向对象知识小结(对象的建立,构建函数以及析构函数的使用)

学习php面向对象知识小结

1、类的建立

1. 类的定义以class关键字开始,后面跟着这个类的名称。类的名称命名一般每一个单词的第一个字母大写。
2. 定义类的属性
3. 定义类的方法php

class NbaPlayer
{
    // 类的属性的定义
    public $name="小明";
    public $age="18";

    // 类的方法的定义
    public function sayName() {
        echo $this->name."\n";
    }

    public function sayAge(){
        echo $this->age."\n";
    }
}

4. 实例化类的对象
5. 使用对象的属性和方法函数

//1. 类实例化为对象时使用new关键字,new以后紧跟类的名称和一对括号。
// 2. 使用对象能够像使用其余值同样进行赋值操做

$xiaoming = new Person();
// 访问对象的属性使用的语法是->符号,后面跟着属性的名称
echo '属性调用:'."\n";
echo $xiaoming->name."\n";
// 调用对象的某个方法使用的语法是->符号,后面跟着方法的名称和一对括号
echo '方法调用:'."\n";
$xiaoming->sayName();
$xiaoming->sayAge();

咱们运行一下这个代码 (经过命令行的形式)学习

 

咱们成功使用类实例化了一个对象this

2、 构造函数与构造函数

 默认的构造函数,在对象被实例化的时候自动调用spa

 

<?php
date_default_timezone_set("PRC");

class Person
{
    // 类的属性的定义
    public $name = "小明";
    public $age = "18";

    //构造函数的使用
    function __construct($name, $age)
    {
        $this->name = $name; // $this是php里面的伪变量,表示对象自身
        $this->age = $age;
    }

    // 类的方法的定义
    public function sayName()
    {
        echo $this->name . "\n";
    }

    public function sayAge()
    {
        echo $this->age . "\n";
    }
}


$aym = new Person('aym','20');

$aym->sayName();
$aym->sayAge();

运行效果命令行

 

 

 能够看到咱们已经成功初始化了咱们想要的结果code

咱们并无直接去调用这个function __construct()函数,而是在咱们在对象被实例化的时候自动调用对象

析构函数的使用析构函数,用于清理程序中使用的系统资源,好比释放打开的文件等等blog

析构函数在该对象不会再被使用的状况下自动调用生命周期

析构函数(destructor) 与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数每每用来作"清理善后" 的工做(例如在创建对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)

<?php
date_default_timezone_set("PRC");

class Person
{
    // 类的属性的定义
    public $name = "小明";
    public $age = "18";

    //构造函数的使用
    function __construct($name, $age)
    {
        $this->name = $name; // $this是php里面的伪变量,表示对象自身
        $this->age = $age;
    }

    //析构函数的使用
    function __destruct()
    {
        echo "Destroying " . $this->name . "\n";
    }

    //类的方法的定义
    public function sayName()
    {
        echo $this->name . "\n";
    }

    public function sayAge()
    {
        echo $this->age . "\n";
    }
}

$aym = new Person('aym', '20');
$tom = new Person('tom', '18');
$aym->sayName();
$tom->sayName();

$tom = null;
echo '---分界---'."\n";

echo '程序执行完了' . "\n";
在咱们的代码都执行完成够,系统会帮咱们调用对象的function __destroy()函数

当对象变量被赋值为Null的时候,对象的析构函数会被自动调用,同一个类的其余对象不受影响
相关文章
相关标签/搜索