点我
点我
文章目录
  1. 1 对象实例化
    1. 1.1 对象赋值
    2. 1.2 extends关键字
  2. 2 属性

php学习笔记(3)

今天开始学习类和面向对象了.

1 对象实例化

在实例化对象的时候,必须使用new关键字.如果该类属于一个名字空间,则必须使用其完整名称.

1
2
3
4
5
6
7
<?php
$instance = new SimpleClass();

// 也可以这样做:
$className = 'Foo';
$instance = new $className(); // Foo()
?>

1.1 对象赋值

我们创建一个对象的实例后,后面进行赋值的时候有两种赋值.
第一种是直接$a=$b,第二种是引用赋值$a=&$b.
这两个有什么区别呢?问题可深了,所以我决定单独写一篇文章来说这个问题.
php学习笔记(3.5)–关于引用赋值和一般赋值

1.2 extends关键字

一个类可以在声明中用 extends 关键字继承另一个类的方法和属性.PHP不支持多重继承,一个类只能继承一个基类.
被继承的方法和属性可以通过用同样的名字重新声明被覆盖.但是如果父类定义方法时使用了 final,则该方法不可被覆盖.可以通过 parent:: 来访问被覆盖的方法或属性.
当覆盖方法时,参数必须保持一致否则 PHP 将发出 E_STRICT 级别的错误信息.但构造函数例外,构造函数可在被覆盖时使用不同的参数.

2 属性

类的变量成员叫做属性,属性声明是由关键字public,protected或者private开头,然后跟一个普通的变量声明来组成,尤其需要注意的是,属性的变量可以初始化,但是初始化值必须是常数,也就是不能有表达式比如下面的就是错误的:
public $var1 = 'hello ' . 'world';,public $var3 = 1+2;.
在php5.3之后,nowdocs的结构也是可行的.

支持一下
扫一扫,试试看
  • 微信扫一扫
  • 支付宝扫一扫