PHP

PHP之抽象类

智言 2015年08月11日 阅读(4779) 0

所谓抽象类就是一个类是抽象化的,再进一步解释就是这个类不能被实例化,只是一个抽象的类;那么再进一步白话型的解释就是这个类只是一个壳子,但是你要继承它还就必须去把这个壳子里的东西用上且要一模一样才行。

要把类进行抽象化,需要使用到关键字abstract,这个在Java中也是一样的,说白了,即我们需要不同的人在实现不一样的功能,但是大体的框架又要一样,这个时候可以使用抽象类,那么简单除暴的代码实现如下:

<?php
abstract class Animal
{
	public $name;
	protected $age;
	abstract public function eat($what);
}
class Cat extends Animal
{
	public function eat($what){
		echo "我正在吃".$what."<br>";
	}
}
class Dog extends Animal
{
	public function eat($what){
		echo "我正在吃".$what."<br>";
	}
}

$ani1 = new Cat();
$ani1->eat("鱼");
$ani2 = new Dog();
$ani2->eat("骨头");
?>

但是在使用中需要注意一下几点:

  1. 如果一个类使用abstract来修饰,则该类就是一个抽象类,如果一个方法被abstract修饰,则该方法就是抽象方法,那么抽象方法就不能有方法体;
  2. 抽象类不能被实例化;
  3. 抽象类不一定包含abstract方法,也就是说抽象类中可以没有abstract方法;
  4. 一单一个类中包含了abstract方法,那么这个类也必须声明为abstract类;
  5. 如果一个类继承了某个抽象类,则它必须实现该抽象类中的所有抽象方法,除非它自己也声明为抽象类;

所以大家在学习的时候一定要多练习和多思考,毕竟这个对于新手还算有点纠结的,对于老鸟来说那就是个菜。

智言

业务开发请联系QQ:5679361

评论 抢沙发

评论前必须登录!

 


如果你觉得本站内容对你有所帮助,比如提升你对编程方面的认识,你可以通过上面的二维码请博主喝杯咖啡,安好。

WEB前端开发部落(公众号:webapp_club)

群列表

前端初级学习群:初级Web前端学习群(后期为支付入群)
PHP初级学习群:PHP(MySQL)学习交流群
QQ群仅作为相关领域讨论平台,均提供高质量问题交流,禁止闲聊,无法接受的朋友请勿加群!
进群需要通过这里获取进群码才能进群哦!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏