php面向对象之类与实例化对象
程序员文章站
2022-04-25 18:59:13
...
这篇文章主要介绍了关于php面向对象之类与实例化对象,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
类
声明
[修饰符] class 类名 { [属性] [方法] }
注意事项:
1)类名遵循大写
开头的驼峰命名规范
2)花括号的开始、结束标记,须自成一行.
修饰符
private 私有 protected 保护 public 公共 var 被视为public (不建议使用)
访问权限
实例化
使用new关键字,实例化。
括号可不加。
例子
// 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 '<br/>'; echo $d1 -> bark();
内部调用
方法在类定义的内部被调用时,可以使用伪变量$this
。
$this
,就代表着正在使用的对象。
例子:
// 声明类 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
相关推荐:
以上就是php面向对象之类与实例化对象的详细内容,更多请关注其它相关文章!