PHP学习(15) 对象

PHP中的对象相对其它语言,比如Java、C#来说要简单很多。它没有重载(不能存在相同的方法名),继承也相对简单。

1.声明类
类的声明主要包括类本身的声明以及方法、属性、继承、构造函数的声明。这些东西说起来一堆,看代码就很简单了。看如下代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

class Person {
    // 声明属性
    var $name; 
    // 给属性设置默认值。默认值只能是简单的常量,不能有计算。
    var $age = 20;
    // 构造函数
    function Person($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}
// 子类的声明
class Employee extends Person {
    var $salary;
    // 构造函数
    function Employee($name, $age, $salary) {
        // 调用父类构造函数
        $this->Person($name, $age);
        $this->salary = $salary;
    }
    // 方法声明
    function add_salary($add) {
        $this->salary += $add;
        return $this->salary;
    }
}

2.创建和访问对象
在PHP中,可以使用$object = new Class;来创建对象。其中类名可以直接写,也可以用变量表示。访问对象用->。比如访问属性$object->propertyname,访问方法$object->mathodname();可以看如下代码。

1
2
3
4
5
6
7
8
9

// 直接用类名创建对象
$employ = new Employee('Dick', 20, 3000);
// 用变量创建对象
$class_name = 'Employee';
$employ = new $class_name('Dick', 20, 3000);
// 访问属性
$name = $employ->name;
// 调用方法
$added_salary = $employ->add_salary(1000);

3.自省
因为在PHP中,自省用到的地方不是很多,所以就不详细说了,如果想看详细的资料,可以看官方的说明。
class_exists() 查看类是否存在
get_ declared_ classes() 查看已经定义的类
get_ parent_ class() 取得父类
get_ class() 取得对象的类名
method_ exists() 对象中是否存在某个函数
property_ exists() 对象中是否存在某个属性
get_ class_ methods() 取得类定义的函数
get_ class_ vars() 取得类定义的属性
get_ object_ vars() 取得对象的值的数组

参考资料:
PHP程序设计,2003,第六章 对象

转载于:https://www.cnblogs.com/yutuo/archive/2011/05/01/2034057.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值