课程名称:PHP面向对象编程
课程章节:
4-4 Final关键字-php面向对象编程
4-5 数据访问-php面向对象编程
课程链接
主讲老师:Peter
课程内容
学习到了PHP类中final、parent、self、static几个关键字的作用
课程收获
一、Final关键字
被声明为 Final:
1.类,不能被继承。
2.方法,不能被子类覆盖。
3.属性,常量,不能被定义为 Final
// 子类中编写跟父类方法名完全一致的方法可以完成对父类方法的重写(overwrite)
// 对于不想被任何类继承的类可以在class之前添加final关键字
// 对于不想被子类重写(修改)的方法。可以在方法定义的前面加final关键字
class BaseClass
{
public function test()
{
echo "BaseClass::test called\n";
}
// 添加final关键字能够让这个方法不能在子类中重写
final public function test1()
{
echo "BaseClass::test1 called\n";
}
}
class ChildClass extends BaseClass
{
public function test($tmp = null)
{
echo "ChildClass::test called" . $tmp . "\n";
}
}
$obj = new ChildClass();
$obj->test("TMP");
二、数据访问
1、用parent关键字可以用于调用父类中被子类重写了的方法
2、self关键字可以用来访问类自身的成员方法。也可以用于访问自身的静态成员和类常量;不能用于访问类自身的属性;使用常量的时候不需要再常量名称前面添加$符号
3、static关键字用于访问类自身定义的静态成员,访问静态属性时需要在属性前面添加$符合
class BaseClass
{
public function test()
{
echo "BaseClass::test called\n";
}
public function test1()
{
echo "BaseClass::test1 called\n";
}
}
class ChildClass extends BaseClass
{
const CONST_VALUE = 'A constant value';
private static $sValue = 'static value';
public function test($tmp = null)
{
echo "ChildClass::test called" . $tmp . "\n";
parent::test();
self::called();
echo self::CONST_VALUE."\n";
echo static::$sValue . "\n";
}
public function called()
{
echo "ChildClass::test called\n";
}
}
$obj = new ChildClass();
$obj->test();
课程截图
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦