### 1、实现接口VS继承类
PHP的继承是单继承,也就是说一个类只能继承一个类 ,这种单继承模式保证了类的纯洁性,比C++中的多继承类机制简洁。但是不可否认,对于类的扩展有一定的影响,所以我们认为:
1) 实现接口可以看作是对继承的一种补充,还有一点,继承 是层级式的,不太灵活,及一个类可以层级式的继承。实现阶梯状,但是主要父类有错误会被一个一个的继承下来,这样对于代码的高内聚低耦合来说不是最优的
2)实现接口可以在不打破关系的前提下,对某个功能扩展,非常灵活
### 看下面的代码:
~~~
<?php
class Monkey{
public $age;
public $name;
public function climbing(){
echo "猴子会爬树。。";
}
}
interface Bridable{
public function fly();
}
interface iFishable{
public function swimming();
}
//一个类最多能继承一个父类,可以有多个接口,对子类进行扩展
class littleMonkey extends Monkey implements Bridable , iFishable{
public function fly(){
echo "猴子会飞。。。";
}
public function swimming(){
echo "猴子会游泳。。。";
}
}
$littleMonkey1=new littleMonkey();
$littleMonkey1->fly();
$littleMonkey1->swimming();
$littleMonkey1->climbing();
?>
~~~
### 2、final关键字,
final什么时候用
1) 因为安全的考虑,类的某个方法不允许被修改。可以用final修饰。
2)不希望某个类被其他的类继承
特别说明:final 不能修改成员属性(变量)。
3、const 概念
1) 当一个成员的变量不允许被修改的时,可以用const 去修饰这个成员变量
基本用法:const 常量名=值;
访问: 类名::常量名 或者 接口名::常量名
注意:常量名应该大写,并且前面不要有$符号,并且定义时必须赋初始值。
~~~
<?php
class A{
const TAX_RATE=0.08;
public function payTax($val){
return $val*A::TAX_RATE;
// 另外也可以 slef::TAX_RATE 『OK』
}
}
$a=new A();
echo $a->payTax(100);
?>
~~~
![](https://box.kancloud.cn/2016-06-03_5750fd8e51471.jpg)
- 前言
- HTML(第一天)
- HTML(第二天)
- DIV+CSS(第一天)
- DIV+CSS(第二天)
- DIV+CSS(第三天)
- DIV+CSS(第四天)
- PHP开发环境配置说明
- PHP基础数据类型及运算符介绍
- 走进PHP函数
- 走进位运算
- 走进数组及相关数组函数
- 面向对象的编程(类与对象)
- 面向对象的编程(类成员方法用法)
- 构造方法,析构方法
- static,global用法
- 静态方法
- 面向对象的编程方法
- 接口方法
- 接口VS继承、final、const
- 错误及异常处理机制、错误日志
- HTTP协议深度剖析
- 文件下载
- PHP数据库编程
- 数据库编程(2)
- 超全局变量
- Zend studio 开发环境入门
- 雇员管理系统(1)
- 雇员管理系统(2)
- 会话技术(cookie session)
- 会话技术 session场景使用介绍!
- PHP.in中session和cookie的配置说明
- PHP文件编程
- 报表及绘图技术
- 报表及绘图技术(jpgraph库使用,Linux安装及配置说明)
- XML基本语法及DTD介绍
- XML编程(Dom技术)
- XML编程(Xpath技术,simpleXml技术)基础入门
- 网上支付平台PHP版本
- javascript基础入门