码迷,mamicode.com
首页 > 其他好文 > 详细

类成员

时间:2016-04-06 16:52:08      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

类成员

属性

方法

类常量

????定义在类里的常量

语法:

????在类内使用const进行定义

常量的访问:

示例:

技术分享

注意:

????类中只有方法内可以书写任何代码。

类成员的访问

公共属性的访问:

类外访问

对象名->属性名;????

类内访问

技术分享

$this关键字

$this只能在非静态方法内使用

$this是系统关键字,就代表调用的方法的那个对象。

技术分享

对象、类、this的内存结构

技术分享

说明:

????对象空间中只存储属性,属性只存在对象空间

????所有的方法存储在代码区中存储类的那一块空间(类空间),方法存储在类空间

????$this只能在方法非静态内部用

私有属性的访问

????属性的作用就是用于保存数据,私有属性的作用是用于保证数据的安全(指的是不能在外部通过对象访问),只能在类的方法内部访问

示例:

技术分享

方法的访问

公有方法在类外访问

语法:

????对象名->方法名();

示例:

技术分享

公有方法在类内访问

技术分享

私有方法在类内访问

技术分享

类常量的访问

????所谓的类常量,是属于类的,只能通过类来访问

类外访问类常量

语法:

????类名::常量名;

说明:

????:: 范围操作解析符

????::????主要用于访问类常量,静态成员(静态属性与静态方法)

????虽然可以通过::访问普通的方法,但强烈不建议。

示例:

技术分享

内存原理:

技术分享

类内访问类常量

self关键字

????表示当前类

示例:

技术分享

self原理

技术分享

self与$this的区别

$this????????表示这个,调用当前方法的那个对象

$this用于访问对象的属性,还可以访问类的方法。

?

self????????????表示自己,表示方法所属的类

self用来访问类里的成员(与类常量、方法与静态方法、静态属性)

?

方法、属性中的静态属性、类常量属于

非静态属性属于对象
注意:

????这里的属于并不是限制访问的意思,只要对象中没有的,就可以去实例化类的空间找。

魔术方法

????魔术方法也是以__开头,是系统预设的。

构造函数

????构造函数就是类里的一很特殊的方法(函数)。方法名与类名相同,就是构造函数。

__construct()

构造函数的作用:

????主要用于实现对象的初始化。

特点:

????在类实例化任何对象时,自动调用该类中的构造函数。

示例:

技术分享

析构函数

__destruct();

特点:

  • 在以下几种情况都会自动执行。
  • 会在对象被删除
  • 脚本执行结束
  • 存储对象的变量如果被删除
  • 存储对象的变量被修改

????

?

作用:

????用于释放其他资源。

示例:

技术分享

结果:

技术分享

对象的传递

PHP有两种传递方式

赋值传值

引用传值

????将一个变量的内存地址传递另一个变量,对象使用就是引用传值

代码:

技术分享

内存原理

技术分享

对象的比较

==

比较规则:

????????比较两个对象是否出于一个类,

????????比较对象当前的属性的数量与值

示例1:

技术分享

示例2:

技术分享

类成员

标签:

原文地址:http://www.cnblogs.com/nyxd/p/5359847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!