这篇文章主要介绍了关于php面向对象之类与实例化对象,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
类
声明
[修饰符] class 类名
{
[属性]
[方法]
}注意事项:
1)类名遵循大写开头的驼峰命名规范
2)花括号的开始、结束标记,须自成一行.
修饰符
private 私有 protected 保护 public 公共 var 被视为public (不建议使用)
访问权限

实例化
使用new关键字,实例化。
括号可不加。
立即学习“PHP免费学习笔记(深入)”;
例子
// 1.声明类
class Dog
{
// 2.定义属性
public $name = '旺财';
public $sex = null;
// 3.定义方法
public function bark()
{
echo '汪汪~';
}
}
// 4.实例化
$d1 = new Dog();实例化对象
属性、方法的调用
使用 ->,来访问非静态属性 | 方法。
例子
// 声明类
class Dog
{
// 定义属性
public $name = '旺财';
public $sex = null;
// 定义方法
public function bark()
{
echo '汪汪~';
}
}
// 实例化
$d1 = new Dog();
// 使用属性和方法
echo $d1 -> name;
echo '
';
echo $d1 -> bark();内部调用
方法在类定义的内部被调用时,可以使用伪变量$this。
$this,就代表着正在使用的对象。
例子:
citySHOP是一款集CMS、网店、商品、分类信息、论坛等为一体的城市多用户商城系统,已完美整合目前流行的Discuz! 6.0论坛,采用最新的5.0版PHP+MYSQL技术。面向对象的数据库连接机制,缓存及80%静态化处理,使它能最大程度减轻服务器负担,为您节约建设成本。多级店铺区分及联盟商户地图标注,实体店与虚拟完美结合。个性化的店铺系统,会员后台一体化管理。后台登陆初始网站密匙:LOVES
// 声明类
class Dog
{
// 定义属性
public $name = '旺财';
public $sex = null;
public function intruduce()
{
echo '我的名字是'.$this->name;
}
}传递赋值
1)简单类型时,传递赋值的双方,相互独立。
2)复合类型时,传递赋值存的都是对象的标识符,所以变化一致。
简单类型例子:
$a = 'abc'; // 传递赋值 $b = $a; // 更改a的值 $a = 'qq'; var_dump($a); // qq var_dump($b); // abc
复合类型例子:
class MyClass
{
public $str = 'abc';
}
// $a 存的是对象的标识符
$a = new MyClass();
// 传递赋值 相当于把标识符赋值给了$b
$b = $a;
var_dump($a); // abc
var_dump($b); // abc
// 更改a对象str属性的值
$a -> str ='111';
// $a和$b存的都是标识符
var_dump($a); // 111
var_dump($b); // 111
// 更改a本身的值
$a = 123;
var_dump($a); // 123
var_dump($b); // 111 对象标识符引用赋值
不论是简单类型也好,符合类型也好,双方都是变化一致的。
例子:
$a = 'abc'; // 引用赋值 $c = &$a; var_dump($a); // qq var_dump($c); // qq
相关推荐:










