/*
* 抽象方法和抽象类
*
* 1.什么是抽象方法
* 定义:一个方法如果没有方法体(一个方法,不使用{},直接使用分号结束的方法,才是没有方法体的方法),则这个方法就是抽象方法
* 一、声明一个方法,不使用{},而直接分号结束
* 二、如果是抽象方法,必须使用abstract(抽象关键字来修饰)
* 2.什么是抽象类
* 一、如果一个类中有一个方法时抽象的方法,则这个类就是抽象类。
* 二、如果声明一个抽象类,则这个类必须使用abstract抽象关键字来修饰
* 注意:
* 1.只要使用abstract修饰的类,就是抽象类
* 2.抽象类是一个种特殊的类,特殊在抽象类中可以有抽象方法
* 3.除了在抽象类中可以有抽象方法外,和正常的类完全一样。
* 接口是一种特殊的抽象类
* 1.抽象类和接口中都有抽象方法
* 2.抽象类和接口都不能创建实例对象
* 3.抽象类和接口的使用意义相同 作用相同
* 接口和抽象类相比;
* 1.接口中的方法,必须全要是抽象方法(不能用不抽象的方法) 不需要使用abstract 直接使用分隔结束
* 2.接口中的成员属性,必须是常量(不能有变量)
* 3.所有的权限必须是公有属性(public)
* 4.声明接口不使用class 而是使用interface
* 接口应用的一些细节
* 1.接口继承 extends 一个接口继承另一个接口 只有扩展新抽象方法,没有覆盖的关系
* 2.可以使用一个类来实现接口中的全部方法,可可以使用一个抽象类,来实现接口中的部分方法
* (类与接口 抽象类与接口 覆盖 重写 实现接口中的抽象方法)
* 3.就不要使用extends这个关键字,使用implements来实现
*
* extends继承扩展 一个类只能有一个父类
* 4.一个类可以在继承另一个类的同时,使用implements实现一个接口 也可以实现多个接口 (一定要先继承,再实现接口)
* 5.实现一个接口,必须实现接口中所有定义的方法,不能有任何遗漏。
*/
//抽象类
abstract class Person{
//抽象方法
abstract function say();
}
//接口
interface Demo{
const NAME = '津沙港湾';
function test();//可以省略abstract 方法必须是抽象方法 即没有方法体{}
}
//接口继承
interface Test extends Demo{
}
//类
class World{
}
//类实现接口
abstract class WebPage extends World implements Demo{
function test(){
}
}
名称栏目:PHP对象抽象方法和抽象类abstract接口iinterface
网站网址:
http://njwzjz.com/article/ieoshp.html