面向对象
首先我们说一下 类的概念!
类的基本结构 class a{
var $b; //var 为php4中的写法,后面会有新的写法,请关注;
function c(){
}
}
类由成员属性(变量)和成员方法(函数) 组成!
$x = new a();注意可以写出这样,也可以写成 $ = new a;但是建议写成带括号的,因为,后面跟构造函数会有衔接;
$x 就是一个对象;一个类可以实例化成为无数个对象;
<?php
class a{
var $b;
function c(){
echo 1;
}
}
$b = new a();
$b->c();
结果为1;
类、对象、属性、方法;
类、对象 是实例化的关系!
属性可以在声明的时候赋值,这个时候,被赋的值,只能是一个常量,不可以是表达式和变量!
可以var $a = 5;
不可以 var $a = 3+2; 和 $a = $x;
属性的值,一般在构造函数中被赋值!!!下面讲!!!
方法需要注意的就是 $this的使用,$this 表示这个对象;谁调用其中的属性或者方法,$this 就是指得哪个对象;
<?php
header("content-type:text/html;charset=utf-8");
class a{
var $name = 'xiaoming';
function say(){
echo $this->name.'喜欢唱歌!';
}
}
$b = new a();
$b->say();
关于方法,还有一个需要注意的就是 构造方法,在php4中,构造方法的定义是使用
和类名同名的方法!!
在类被实例化的时候,就执行构造方法中的内容!!
例子如下:
<?php
header("content-type:text/html;charset=utf-8");
class a{
var $name = 'xiaoming';
function say(){
echo $this->name.'喜欢唱歌!';
}
function a(){
echo '我是一个构造函数!
'; //注意,在后面的章节,会有新的更改,此种构造方法的写法是php4的写法,
为了便于理解,先这么定义!后面会用__construct(){}来定义后遭函数
}
}
$b = new a();
$b->say();
以上写法是,构造函数中,没有参数的情况!
在实际的类的使用的过程中,构造函数是非常常用的,也是伴随着使用参数,其中,参数的主要作用就是为属性赋初始值,请看下面的例子:
<?php
header("content-type:text/html;charset=utf-8");
class a{
var $b;
var $c;
function a($d,$e){
$this->b = $d;
$this->c = $e;
}
}
$x = new a(1,3);
print_r($x);
结果为 a Object ( [b] => 1 [c] => 3 )
以上为构造函数的使用!
因为构造函数的名字和类名是一样的,所以,在实例化类为对象的时候,在类的后面有一个括号,括号里面写参数,也就是给属性赋值,就更加的容易理解了!
评论专区 |
相关文章 |