首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >php面向对象第六篇 final

php面向对象第六篇 final

作者头像
贵哥的编程之路
发布2020-10-28 15:11:11
发布2020-10-28 15:11:11
3850
举报

final: final—用于类、方法前。

final类—不可被继承。

final方法—不可被覆盖。

如果我们不希望一个类被继承,我们使用final来修饰这个类。这个类将无法被继承。 final关键字只能定义类和方法的哈,不能使用final定义属性成员,为什么? 因为final在php中意思是代表唯一的意思哈, “final的意思是不可更改的,也就是说final定义的东西是不可改变的 问题,为什么常量不能用final修饰呢? 因为常量已经有修饰的方式了,就是define了 比如·: define(“name”,3.14); 问题: 难道因为有define的话,就不能让final修饰了吗? 为什么,因为对的,为什么? 因为我已经有老婆的同时,另外在找一个吗? 这不是。。。。。

代码语言:javascript
复制
<?php
final class people
{
	final function say()
	{
		echo "我是一个方法.";
	}
}
class cyg extends people{

}
$p1=new cyg();
$p1->say();
?>

不能被继承是吧

代码语言:javascript
复制
<?php
final class people
{
	final function say()
	{
		echo "我是一个方法.";
	}
}
class cyg extends people{

function say()
{
	
}
}
$p1=new cyg();
$p1->say();
?>

不能同时定义两个相同的函数是吧, 问题:为什么在不同的类中还不可以? 因为有继承关系啊

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档