php面向对象程序设计

1.类继承的定义
继承的概念是指建立一个新的派生类,从一个先前定义的类中继承其属性和方法,而且可以重新定义或者新增类的成员。继承就是对已经存在的类进行扩充,完善,创建新类的过程。我们可以把继承的类称为基类,通过继承产生的类称为派生类。
2.抽象类
抽象类是指没有完整实现的类,其只能供派生类继承,不能用来创建实例。通常使用抽象类来描述一个类层次的总体架构,就是将抽象类作为子类重载的模板使用,定义抽象类就相当于定义了一种规范,这种规范要求子类去遵守。
抽象类使用abstract关键词来修饰,并在类中定义抽象方法。抽象方法就是没有方法体的方法,所谓没有方法体是指在方法声明时没有花括号{},及其中的内容。而是在声明方法时直接在方法名的后面加上分号,结束。另外在声明抽象方法的时候,也要使用abstract关键词来修饰
格式如下:

abstract class 类名{
	abstract  function fun1();
	abstract  function fun2();
}

说明:在抽象类中也可以有不是抽象的成员方法和成员属性
当子类继承抽象类以后,必须把抽象类中所有的抽象方法按照子类的需要去实现
使用extends继承

3.接口类
php只支持单继承,也就是说每个类只能继承一个父类。当一个类继承了另外的一个类以后,它就不能再有其他的父类了。为了解决这个问题,PHP引入了接口的概念。接口类是一种特殊的抽象类,如果抽象类中的所有方法都是抽象方法,那么我们就可以使用另外一种声明方式“接口”技术。接口中声明的方法必须都是抽象方法,而且不能在接口中声明变量,可以使用const关键字声明为常量的成员属性,接口中的所有成员都必须有public的访间权限。
接口和抽象类一样也不能实例化对象,它是一种更严格的规范,也需要通过子类来实现。一个类只能有一个父类,但是一个类可以实现多个接口
1.接口的定义
接口使用 interface关键词来修饰,接口的声明的语法格式如下:

interface 接口名称{
	//常量成员
	//抽象方法
}

说明:
接口中所有的方法都要求是抽象方法,所以不需要在方法前使用 abstract关键字来标识
·因为pbic是默认的访间权限,所以不需要显式地使用 public关键进行修饰
可以直接使用接口名称在接口的外面获取常量成员的值。

声明接口的示例代码如下:

//使用 interface关键字声明一个接口 Istate
interface Istate{
	function open(); 	//在接口中声明一个抽象方法 open
	function close();	//在接口中声明一个抽象方法 closed
}

2)接口的实现
如果需要使用接口中的成员,则需要通过子类去实现接口中的全部抽象方法,然后创建子类的对象去调用在子类中实现后的方法。
通过类身继承接口时使用 implements关键字来实现,接口的实现的语法格式如下。
(1)实现单个接口。

class类名 implements 接口名称{
	//实现接口中所有的抽象方法
}

(2)实现多个接口,多个接口之间使用逗号“,”隔开。

class 类名 implements 接口1,接口2,接口n{
	//实现所有接口中的抽象方法
}

(3)继承一个类的同时实现多个接口

class 类名 extends 父类名 implements 接口1,接口2,接口3,...,接口n{
	//实现所有接口中的抽象方法
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

原克技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值