面向对象的封装特性

Private  Class star{

public $name;

private $age;

private $weight;

//构造函数,在类被实例化之后,第一个被自动执行的方法,不需要人工进行手动调用

function __struct($name,$age,$weight){

$this->name=$name;

$this->age=$age;

$this->weight=$weight;

}

//当对象访问类的私有属性时,系统会自动调用

private function __get($varName){

return $this->$varName;

}

//当对象访问类的私有属性,并为私有属性赋值时,系统会自动调用

private function __set($varName,$strValue){

return $this->$varName=$strValue;

}

//当对象 访问类的私有属性,并使用isset()函数判断对象的私有属性是否存在时,系统自动调用__isset()

private function __isset($strName){

return isset($this->$strName);

}

//当对象访问类的私有属性,并使用unset()函数销毁对象的私有属性的时候,系统自动调用__unset()魔术方法

private function __unset($strName){

unset($this->$strName);//unset($var)销毁变量时没有返回值

}

}

$star=new star;

echo $star->name; //访问对象的公共属性,可以直接访问

$star->="李小龙"; //可以访问对象的公共属性,并赋值

isset($star->name); //可以在类的外部直接使用isset()函数判断类的公共属性是否存在

unset($star->name); //可以再类的外部直接使用unset()函数来对对象的公共属性进行销毁

/关于私有属性的操作///

//不能在类的外部直接访问类的私有属性

echo $star->age; //return error

//不能再类的外部直接访问类的私有属性,并为其赋值

$star->age="30";//return error

//不能在类的外部直接判断对象的私有属性是否存在

echo isset($star->weight);  //return error

//不能在类的外部直接销毁类的私有属性

unset($star->weight); //return error

//系统自动调用类的魔术方法访问私有属性,并对私有属性进行操作//

//对象访问类的私有属性,系统自动调用__get()魔术方法

echo $star->age;

//对象访问类的私有属性,并为该私有属性赋值,系统自动调用__set()魔术方法

$star->weight="65kg";

//对象访问类的私有属性,并使用isset()函数判断该私有属性是否存在,系统自动调用__isset()魔术方法

isset($star->age);

//对象访问类的私有属性,并使用unset()函数销毁该私有属性时,系统自动调用__unset()魔术方法

unset($star->weight);

php 封装的调试方法,关于php面向的特性之封装相关推荐

  1. iservice封装有哪些方法_Java基础之类与对象、封装、构造方法·6(重点)

    4.1 类与对象(掌握如何使用) 类:是一组相关属性(名字.年龄)和行为(跑.跳)的集合.可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物 public class ClassNa ...

  2. 前端程序调试方法总结--高级版

    文章目录 前端程序调试方法总结--初级版 引言 一.先来认识一下这些按钮的功能 二.Sources资源页面的断点调试 三.Post man你值得拥有的网络请求神器 完结 前端程序调试方法总结–初级版 ...

  3. ESP32开发环境的搭建和 ESP-IDF支持以下调试方法

    ESP32开发环境的搭建 ESP-IDF 支持以下调试方法: 一. JTAG 二. GDB调试 三. 日志系统 四. Core Dump 五. esp32 heap 内存管理简析 ESP32开发环境的 ...

  4. linux vc 调试方法,VC实现【API钩取】【调试法】附加调试器

    最近在学习逆向核心,在论坛也发了几篇帖子说说自己的经验,帮助自己巩固知识,也方便了大家. 如果帖子中有什么疏漏甚至不对的地方,请大牛们指出,我会积极改正的! 废话不多说,还是我[Miss丿小沫],上教 ...

  5. 硬件电路板调试方法及步骤

    一.上电前检查工作: 焊接完后, 在检查电路板是否可以正常工作时, 通常不直接给电路板供电,而是要按下面的步骤进行,确保每一步都没有问题后再上电也不迟. 1.连线是否正确 检查原理图很关键, 需要检查 ...

  6. WebRTC 教程三:WebRTC特性,调试方法以及相关服务器搭建方法

    WebRTC 教程一:WebRTC信令.架构和 API 入门 WebRTC 教程二:WebRTC API 和 Leak 本文是 WebRTC 的第三篇教程,主要介绍了 WebRTC 的一些特性,调试方 ...

  7. MTK 开发调试方法

    mtk开发基本调试方法大概就三种模拟器方式,trac方式,串口方式 普通的界面修改,功能行基本都可以通过模拟器完成,但是遇到死机或者与l4c相关的问题是就需要打trac配合cather进行调试了:如果 ...

  8. mtk 调试方法总结

    mtk开发基本调试方法大概就三种模拟器方式,trac方式,串口方式 普通的界面修改,功能行基本都可以通过模拟器完成,但是遇到死机或者与l4c相关的问题是就需要打trac配合cather进行调试了:如果 ...

  9. PHP 后端开发之调试方法

    emmmmmmmmm,在我们进行php后端开发过程中,难免会遇到各种问题,这时候需要进行调试,对于一个新手来说,无疑是各种头疼问题,以下将介绍几种调试方法: 1.最古老的方法---文件输出 这个方法屡 ...

最新文章

  1. 安卓短信加密_发短信控制车辆!苹果发布ios14,手机可作车钥匙
  2. codevs原创抄袭题 5960 信使
  3. linux安装python3.7的步骤_Linux 安装python3.7.3
  4. 【课题总结】OpenCV 抠图项目实战(1)目录摘要
  5. Linux Ubuntu 内核升级
  6. 解决虚拟机内服务器卡顿,不流畅问题
  7. 【机器学习】线性回归(最小二乘法实现)
  8. Python探路-多重继承
  9. 程序员工资高会封顶吗?网友:会谢顶
  10. [经验教程]中国民生银行信用卡积分怎么兑换免费腾讯视频VIP会员?
  11. Python从入门到数据分析第一篇—Python简介- Python介绍与初探
  12. 基于opencv python 的网线线序识别(三)
  13. 【教案】心田花开:如何辅导一年级孩子看图写话
  14. APS高级计划排程(生产计划排产)系统的算法规则和异常处理策略
  15. matlab换挡程序,一种基于MATLAB换挡过程中快速锁定分析数据的方法与流程
  16. 花呗能不能不还?支付宝说春节集五福中彩蛋可帮还
  17. BeautifulSoup 与 Xpath
  18. 【杂篇 · 技巧】WebStorm页面窗口与显示bug
  19. 剑三重置版找不到服务器,剑网3重制版客户端常见问题处理方案整理
  20. 贪玩蓝月服务器维护需多少时间,贪玩蓝月一般多久合区 | 手游网游页游攻略大全...

热门文章

  1. python全栈开发笔记---------数据类型-----集合set
  2. SOFA 源码分析 —— 服务发布过程
  3. Thinkphp3.2 中使用find_in_set
  4. python战斗2:看到一个页面编码
  5. 如何判断脚本执行成功
  6. win8网络受限官方解决办法
  7. 工作的思考十四:增强看待问题(BUG)的敏锐度
  8. (转)找工作是一种必须的生活阅历
  9. linux系统日志_Linux系统学习系列——Linux系统日志管 理(下 )
  10. 先来先服务算法、运行时间最短者优先算法和最高响应比优先调度算法_Linux进程调度:完全公平调度器CFS