0
点赞
收藏
分享

微信扫一扫

【web 开发】PHP面向对象之访问类中的成员属性和方法

前言

通过对象的引用可以访问类中的成员属性和方法,这里需要使用特殊的运算符号:“->”。具体的语法格式如下:

<?php
$变量名 = new类名称();  //类的实例化
$变量名->成员属性 = 值;  //为成员属性赋值
$变量名->成员属性;     //直接获取成员的属性值
$变量名->成员方法;     //访问对象中指定的方法

另外,用户还可以使用一些特殊的访问方法。

1.$this

$this存在于类的每一个成员方法中,是一个特殊的对象引用方法。成员方法属于哪个对象,$this引用就代表哪个对象,专门用于完成对象内部成员之间的访问。

2.操作符“::”

操作符“::”可以在没有任何声明实例的情况下访问类中的成员。使用的语法格式如下:


关键字::变量名/常量名/方法名

其中,关键字主要包括parent、self和类名3种。parent关键字表示可以调用父类中的成员变量、常量和成员方法。self关键字表示可以调用当前类中的常量和静态成员。类名关键字表示可以调用本类中的常量变量和方法。

下面通过实例介绍类的声明和实例化,具体代码如下:

<?php
class Student{
	
	//定义成员属性
	private $name;
	private $gender;
	
	//定义成员方法
	function setName($name){
		$this->name = $name;
	}
	
	function getName(){
		return $this->name;
	}

	function setGender($gender){
		$this->gender = $gender;
	}
	
	function getGender(){
		return $this->gender;
	}
}

//类实例化
$zhangsan = new Student();
$zhangsan->setName('张三');
$zhangsan->setGender('男');

$lisi = new Student();
$lisi->setName('李四');
$lisi->setGender('男');

echo $zhangsan->getName() . "的性别是:" . $zhangsan->getGender() ."\n";
echo $lisi->getName() . "的性别是:" . $lisi->getGender() ."\n";

?>

执行结果如下:

【web 开发】PHP面向对象之访问类中的成员属性和方法_成员方法

注:类名一般用大驼峰法(即开头首字母大写),变量和方法名用小驼峰(即开头首字母小写,其他的单词首字母大写)

  • 用class关键字声明一个类,而这个类的名称是Student。在大括号内写入类的属性和方法。其中private $name、private $gender为类Student的自有属性,用private关键字声明,也就是说只有在类内部的方法可以访问它们,类外部是不能访问的。
  • function setName($name)、function Getname()、function setGender($gender)和function getGender()就是类方法,可以对private $name、private $gender这两个属性进行操作。$this是对类本身的引用。用“->”连接类属性,格式如$this->name和$this->gender。
  • 之后用new关键字生成一个对象,格式为$object = new Classname();,对象名是$zhangsan。当程序通过new生成一个类Student的实例,也就是对象$zhangsan的时候,对象$zhangsan就拥有了类Student的所有属性和方法。然后就可以通过“接口”,也就是这个对象的方法(也就是类的方法的副本)来对对象的属性进行操作。
  • 通过接口setName($name)给实例$zhangsan的属性$name赋值为"张三",通过setGender($gender)给实例$zhangsan的属性$gender赋值为男。同样的道理,通过接口操作了实例$lisi的属性。最后通过接口getName()、getGender()返回不同的两个实例的属性$name和$gender,并且打印输出结果。
举报

相关推荐

0 条评论