类与对象

目录


简介

类(Class)是变量与作用于这些变量的函数的集合,是具有相同属性和操作的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和操作两个主要部分。

类和对象是两个东西,对象是通过 new 一个类得到的,称为实例化,要先有一个类,然后通过类的 new(实例化) 得到的一个对象的数据类型,要创建一个类的实例,必须使用 new 关键字。

  • 对象的本质,就是数据,其本身不包含方法,但是其内部有一个指针,会指向一个类,而在这个类里面,是可以包含方法的
  • 类里面的方法描述不同的属性,因而,会产生不同的表现或者结果
  • 类和对象是不可分割的,有对象,就必定有一个类是和它相对应的


手册:PHP 手册 - 类与对象


语法

class Class_name //习惯上将类的第一个字符为大写,并且必须符合变量的命名规则。
{
//函数与变量的集合
}

定义好的类则必须使用new关键词来生成对象

new Class_name();

实例

//定义类
class Info{

    //类属性
    public $name = '李云龙';
    public $work = '独立团团长';

    //类方法
    public function cc(){
        $bb = $this->work . $this->name; //拼接变量
        return $bb;
    }
}

//实例化
$aa = new Info();

//调用方法并输出
echo $aa->cc();

输出结果:
类与对象(未完成)


术语

  • 类 :class 类名(…)
  • 对象 :new 类之后得到的数据类型
  • 方法 :类内部定义的 ‘函数’
  • 属性 :类内部定义的 ‘变量’
  • 调用 : 使用 -> 符号,调用内部的方法或属性
  • 实例化 : new 类名() ,获得对象

伪变量 $this

在类(对象)的内部,方法与方法之间,可以通过 $this 调用其他方法或属性


魔术方法

由 PHP 定义好的,满足特定条件就会自动执行的方法称为魔术方法

PHP 将所有以 _ _ (两个下划线)开头的类方法保留为魔术方法。所以在定义类方法时,除了上述魔术方法,建议不要以 _ _ 为前缀。


参考手册:PHP 手册 - 魔术方法


构造函数 ( __construct )

特定条件:当 new 一个类的时候就会自动触发

在一个类中定义一个方法作为构造函数,具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

//定义类
class Info{
    //构造函数
    public function __construct(){
        echo 'hello world';
    }
}
new Info();

输出结果:直接输出 hello world;

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~