Home  >  Article  >  php教程  >  PHP5类中的属性与类方法

PHP5类中的属性与类方法

WBOY
WBOYOriginal
2016-06-13 10:15:47870browse

本文章详细的介绍一下关于PHP5类中的属性与类方法,有需要学习的朋友可参考消息。

PHP5类方法

过程:过程是编制程序时定义的一个语句序列,用来完成某种指定的操作。

函数:函数有返回值,也是定义的语句序列。

方法:在面向对象概念中,类里面的一段语句序列。

一般来说,在面向对象概念中,函数和方法两个名词是通用的。

通过方法读取属性
下面的例子将属性设置为private ,同时声明了public的getName()方法,用来获取属性$name的值,调用getName()方法就会通过 return $this->name 返回 $name 的值。

 代码如下 复制代码

class Person

{

private $name = “NoName”; //private成员$name

public function getName() {

return $this->name;

}

}

$newperson = new Person();

echo ” ” . $newperson->getName();

?>

 

注意:这里,方法内部调用本地属性时,使用 $this->name来获取属性。在这个例子中,设置了公开的getName()方法,即用户只能获取$name, 而无法改变他的值。这就是封装的好处。

封装指的是将对象的状态信息(属性)和行为(方法)捆绑为一个逻辑单元的机制。

PHP5中通过将数据封装、声明为私有的(private),再提供一个或多个公开的(public)方法实现对该属性的操作,以实现下述目的:

防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以便地加入控制逻辑,限制对属性的不合理操作;
有利于保证数据的完整性;
便于修改,增强代码的可维护性;
方法的参数
通过方法定义时的参数,可以向方法内部传递变量。

如下第5行,定义方法时定义了方法参数$_a。使用这个方法时,可以向方法内传递参数变量。方法内接受到的变量是局部变量,仅在方法内部有效。可以通过向属性传递变量值的方式,让这个变量应用于整个对象。

 代码如下 复制代码

class Person

{

private $a;

function setA($_a) {

$thia->a = $_a;

}

function getA() {

return $this->a;

}

}

$newperson = new Person();

$newperson->setA(100);

echo $newperson->getA();

?>

 

如果声明这个方法有参数,而调用这个方法时没有传递参数,或者参数数量不足,系统会报出错误。如果参数数量超过方法定义参数的数量,PHP就忽略多于的参数,不会报错。可以在函数定义时为参数设定默认值。 在调用方法时,如果没有传递参数,将使用默认值填充这个参数变量。

 代码如下 复制代码

class A

{

public $name = “tom”;

}

class Person

{

private $a;

function setA($_a) {

$this->a = $_a;

}

function getA() {

return $this->a;

}

}

$a1 = new A();

$p = new Person();

$p->setA($a1);

echo $p->getA()->name;

?>

属性的使用:通过引用变量的-> 符号调用变量指向对象的属性。

在方法内部通过 $this-> 符号调用同一对象的属性。

 代码如下 复制代码

class Person

{

public $name = “NoName”; //定义public属性$name

public $age = 20; //定义public属性$age

}

$p = new Person(); //创建对象

echo ” ” . $p->name; //输出对象$p的属性$name

echo “
”;

echo ” ” . $p->age; //输出$age属性

?>

 


PHP5类中的属性

我们还可以改变属性的值,当然要注意的改变属性的值是通过public来修饰的

我们修改一下这个例子:

 代码如下 复制代码

class Person

{

public $name = “NoName”; //公共变量$name

public $age = 20; //公共变量$age

}

$p = new Person();

$p->name = “Tom”; //我是Tom

$p->age = 25 ; //年龄25

echo ” ” . $p->name; //输出名字

echo “
”;

echo ” ” . $p->age; //年龄

?>

 

创建一个Person的对象,改变这个对象的属性。为它命名,查看它的名字。你就是机器里面这个Person对象的上帝,按照你定义的规则,这个实实在在内存中的Person对象被创建了,而且它有了可以改变的属性。

 

属性的初值
在PHP5中,在属性定义可以不设置初值,或者赋予以下红色类型的初值。

PHP中简单类型有8种,分别是:

四种标量类型:

布尔型(boolean)

整型(integer)

浮点型(float)(浮点数,也作“double”)

字符串(string)

两种复合类型:

数组(array)

对象(object)

最后是两种特殊类型:

资源(resource)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn