这篇文章介绍的内容是关于PHP的抽象类,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
/*
抽象类的作用:
当接口用,当模板用
实现多态,生来就是当爸爸的
*/
// ===代码部分1===
// =用abstract写一个飞行器制造术= //
abstract class FlyIdea { // 大力引擎
public abstract function engine(); // 平衡舵
public abstract function balance();
/*
注意:抽象方法中 不能有方法体
下面这样写是错误的 public abstract function balance() {
}
报错如下:
Fatal error: Abstract function FlyIdea::balance() cannot contain body
*/
}
/*
抽象类不能new 来实例化
$kongke = new FlyIdea();
报错如下:
Fatal error: Cannot instantiate abstract class FlyIdea
*/
// =用火箭解决发动机问题= //
立即学习“PHP免费学习笔记(深入)”;
abstract class Rocket extends FlyIdea {
public function engine() {
echo '点燃火药,失去平衡。<br >';
}
}class Fly extends Rocket {
public function engine() {
echo '用力一扔<br >';
} public function balance() {
echo '两个纸翼保持平衡~~~~~~';
} public function start() {
$this->engine(); for($i=0;$i<10;$i++) { $this->balance(); echo '平稳飞行<br >';
}
}
}$apache = new Fly();$apache->start();/*
总结:
类前加 abstract 是抽象类
方法前加 abstract 是抽象方法
抽象类 不能 实例化
抽象方法 不能有 方法体
有抽象方法,则此类必是 抽象类
抽象类,内未必有抽象方法
*/
// ===代码部分2===
// =Facebook 多国语言欢迎页面= //
abstract class Welcome {
public abstract function wel();}class china extends Welcome {
public function wel() {
echo '你好,非死不可<br >';
}
}class english extends Welcome {
public function wel() {
echo 'hi,welcome<br >';
}
}class japan extends Welcome {
public function wel() {
echo '搜达斯奈<br >';
}
}$c = 'china'; //english //japan$wel = new $c();$wel->wel();/*
以后新增了其他国家语言,
只要新增一个新的welcome类即可.
*/ 
相关推荐:
以上就是PHP的抽象类的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号