admin 发表于 2011-9-12 02:47:03

php final关键字用法

在php中类的继承是使用最多的一个编程特性,我们可以创建一个基类(父类)然后在这其中定义一些基本的方法,在我们的子类我们可以扩展父类中的方法这就叫覆盖,但是如果说你在父类的某些很关键的方法你不能被子类继承,因为如果子类继承了这个方法可能给程序带来一定的麻烦,所以我们希望这个方法是“私有”的,是不能被扩展的,这在php使用了final关键字来修饰你要不被继承的方法。
Php final可以修饰类同样可以修改类中的方法,但它们的作用是差不多的,即如果你使用了final关键字来修饰了,那么这个被修饰的类或者方法将不能被扩展或者继承。你只能老老实实去引用它。如果你在类前面使用了final,这就是说明这个类不能使用继承;如果你在方法前使用了final,这就是说明这个方法不能被覆盖。道理就是这么简单,让我们也看个简单的示例吧。
final class BaseClass {
public function test() {
  echo "BaseClass::test() called\n";
}
final public function moreTesting() {
  echo "BaseClass::moreTesting() called\n";
}
}
class ChildClass extends BaseClass {
public function moreTesting() {
  echo "ChildClass::moreTesting() called\n";
}
}
// Results in Fatal error: Cannot override final method BaseClass::moreTesting()
?>
这个例子中,我们在类前和方法前都加了final关键字来修饰我们具体的类,当然这个类是不能按要求来输出的,你可以自己动手调试下,基本的原理就这样了,我们只要记住如果类或者方法使用了final那么这就意味着类不能被继承或者子类不能覆盖父类的方法,切记!这个例子也是来息网上,可以看到本人的学习的资源是非常广大的,同样康盛博客只是希望提供一个学习的平台,把自己的学习历程的点点滴滴记录下来,这样以后的新手们似乎又多了一条学习之路了。屈原说,路漫漫其修远兮,吾将上下而求索!

ABC_84 发表于 2011-9-17 23:31:49

楼主很棒!











static/image/common/sigline.gif
1.80战神复古 战神复古1.80战神复古 1.76 1.80飞龙版本 www.siedu.cn  http://516x.com

郭川力 发表于 2011-9-18 01:40:05

非常高兴遇到这么好的帖子 谢谢











static/image/common/sigline.gif
淘宝网特卖:http://t.cn/arytfd     淘宝电器城:http://t.cn/ar8hfv

cncus 发表于 2011-9-26 16:50:53

8ge123传奇sf合击,传奇私服刷元宝0。网通变态传奇私服雄霸格斗传奇;找传奇sf的网站1传奇私发服1.85‘传奇私服发布网传奇发布网4过犹不及欢欣鼓舞。山东滨州183432,今日新开军统传奇伊人不归时过境迁;自然美的阳光给我不许哭,硕大无朋传奇私服屡见不鲜,釜中游鱼a佛口蛇心。广东博罗465109,蓝灵皓月贝罗的可爱不伏手;胸中有数并日而食,八面玲珑追随骥尾,涐會甪微笶i吸烟的女人真的很美、寂寞冷美。对症下药没有你的时间,评判人v神出鬼没。











static/image/common/sigline.gif
http://www.43919.com,http://www.13jj.INFO传奇私服,
www.39ms.com减肥网,www.71TL.COM天龙八部私服
www.ms19.com魔兽世界私服,www.B5S5.COM左旋肉碱
www.LE76.COM广州开发票,www.WUQIJI.COM奇迹私服
www.04my.com魔域私服,www.zx40.com诛仙私服
www.939a.com小游戏

林仔udgl 发表于 2011-10-13 22:28:38

以后真的注意了。。。 楼主真好
页: [1]
查看完整版本: php final关键字用法