您的位置:首页 > 其它

类声明、类实例化对象、对象中成员的访问、特殊对象的引用$this

2016-08-20 17:04 405 查看

类的声明

面向对象程序的单位就是对象,但是对象又是通过类实例化出来的。首先我们要知道如何声明一个类。

<?php
class person {
var $name;//成员属性
var $age;
var $sex;
public function say(){//成员方法
}
public function run(){
}
}


类格式说明

1.声明类必须使用关键字class ,有时需要在class关键字前面加上修饰符。如:public private protected static final…..

2.类名必须遵守命名规则,如果有多个单词组成,习惯上每个单词首字母大写。

3.类中包括成员属性和成员方法。声明变量不需要任何关键词,而在类中声明成员属性时,变量前面一定要使用关键字,列如:如:public private protected static final…..这些关键字修饰符的变量都具有一定意义。如果不需要特定意义的修饰,就使用var 关键字。

4.成员方法的声明跟函数声明一样,只不过可以加一些修饰符。如:public private protected static final…..

类实例化对象

将类实例化对象,使用new 关键字并在后面加上与类名同名的方法。如果在实例化对象时不需要为对象传递参数,在new 关键字后面加上类名即可.

$变量名=new 类名称(参数列表);
$变量名=new 类名称;


<?php
class Phone{
var $Menu;
var $color;
var $batty;
var $screen_size;
function call(){
echo '在打电话';
}
function message(){
echo '在发送信息';
}
function Playmusic(){
echo '在播放音乐';
}
function photo(){
echo '正在拍照';
}
}
class Person(){
var $name;
var $sex;
var $age;
function say(){
echo '人在说话';
}
function run(){
echo '人在走路';
}
}

$person=new Person();
$person1=new Person();
$phone=new Phone();


一个类可以实例化出多个对象,每个对象都是独立的。同个类声明的多个对象之间没有联系,只能说明他们都是同个类型,每个对象内部都有类中声明的成员属性和成员方法。

对象中成员的访问

对象中包括成员属性和成员方法,访问对象中的成员则包括成员属性和成员方法的访问。

$引用名=new 类名称([参数列表]);

$引用名->成员属性=值;//成员属性赋值

$引用名->成员属性;//访问成员属性

$引用名->成员方法;//访问成员方法


<?php
header('content-type:text/html;charset=utf-8');
class Person{
var $name;
var $sex;
var $age;
function say(){
echo '这个人在说话<br/>';
}
function run(){
echo '这个人在走路<br/>';
}
}
$person1=new Person();
$person1->name='张三';
$person1->sex='男';
$person1->age=20;
echo "对象person1的名字:".$person1->name."<br/>";
echo "对象person1的性别:".$person1->sex."<br/>";
echo "对象person1的年龄:".$person1->age."<br/>";
$person1->say();
$person1->run();
//结果
对象person1的名字:张三
对象person1的性别:男
对象person1的年龄:20
这个人在说话
这个人在走路


只要是对象中的成员,都要使用 “$对象引用名->属性名 ” 或 “$对象引用名->方法 ” 形式访问。如果对象中的成员不是静态的,那么这是唯一访问形式。

特殊对象的引用$this

我们知道访问对象中的成员必须通过对象的引用完成,如果在对象的内部,在对象的成员方法中访问自己对象中的成员属性,或者访问自己对象内其他成员方法时该怎么处理?这是需要对象引用this

对象一旦被创建,在对象中的每个成员方法里面都会存在一个特殊的对象引用“$this”成员方法属于哪个对象,$this引用就代表哪个对象,专门用来完成对象内部成员之间的访问。

<?php
header('content-type:text/html;charset=utf-8');
class Person{
var $name;
var $sex;
var $age;
function say(){
echo "我的名字".$this->name."性别:".$this->sex."年龄:".$this->age."<br/>";
}
function run(){
echo $this->name.'这个人在走路<br/>';
}
}
$person1=new Person();
$person2=new Person();
$person3=new Person();
$person1->name='张三';
$person1->sex='男';
$person1->age=20;
$person1->say();
$person1->run();
//结果
我的名字张三性别:男年龄:20
张三这个人在走路
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐