PHP实验十六、十八、十九(类的属性及定义方法、访问控制、继承)

实验十六:类的属性及定义方法

类的变量成员叫做属性,属性声明语法public/protected/privated 变量

1、public关键字的用法,请看代码:

<?php 
header("content-type:text/html;charset=utf-8");
class Student{
	//属性声明为共有的
	public $a = "sdfs";
	public $b = array("a","b",3);

	//PHP定界符:AAA为定界标识符,里面的内容全部输出
	public $c=<<<AAA
	hello world
AAA;
	//标识符结束,单独写一行且顶格

}
$A=new Student();
print_r($A->b);
echo "</br>";
echo $A->a."</br>".$A->c;


?>

输出
在这里插入图片描述

实验十八:访问控制

在这里插入图片描述
这里以private为例子,给出代码如下:

<?php 
header("content-type:text/html;charset=utf-8");
class Student{
	//声明私有变量
	private $name;
	private $age;
	private $sex;
	//构造函数
    function __construct($name,$age,$sex){
    	$this->name=$name;
    	$this->age=$age;
    	$this->sex=$sex;
    }
    //对象无法访问私有属性,但是通过魔术方法可以改变这一点 __get() __set()
    function __get($proName){
    	return $this->$proName;
    }
    function __set($proName,$proValue){
      $this->$proName=$proValue;
    }
    //构造函数访问私有属性
    function may(){
    	  return "我叫:$this->name 年龄:$this->age 性别:$this->sex";
    }
    //构造函数用来释放内存
    function __destruct(){
    	echo "</br>运行结束,释放内存</br>";
    }
}
$A =new Student("黑白",22,"男");
echo $A->name."<br>";
echo $A->may();

?>

输出
在这里插入图片描述
私有变量是不能被外部类所使用,通过结果可以看出魔术方法可以让私有变量被外部类所使用

实验十九、继承

1、创建父类的基本语法

class 父类名{
      方法
}

1、创建子类的基本语法

class 子类名 extends 父类名{
       方法
}

给出一个例子供大家理解子类与父类的关系

<?php 
header("content-type:text/html;charset=utf-8");
//创建父类Person
class Person{
	//创建父类方法
	function read($name){
		echo "[".$name."]喜欢文学</br>";
	}
	function doIng($name){
		echo "[".$name."]喜欢打篮球</br>";
	}
}
//创建子类Student
class Student extends Person{
	//创建子类方法
	function eat($name){
		echo "[".$name."]喜欢糖果</br>";
	}
	//当子类中有与父类同名的方法时,就会覆盖父类的方法
	function doIng($name){
		echo "[".$name."]喜欢打游戏</br>";
	}
}
//调用
$a = new Person();//创建父类对象
$H = new Student();//创建子类对象
$H->read("素白");//子类对象调用父类对象中的方法
$H->eat("素白");//子类对象调用自己的方法
echo "------------我是分隔符-----------</br>";
$a->doIng("素白");//父类对象调用自己的方法
$H->doIng("素白");//子类对象调用与父类同名的方法
$a->eat("素白");//父类对象调用子类对象中的方法
?>

输出
在这里插入图片描述
分析
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值