封装一个php接口类以及规范,抽象类与接口-用PHP面向对象思想实现对各个类进行封装处理-PHP中文网教程...

在php中可以通过abstract关键字声明抽象类,有时候我们需要一个类必须具备某些公共的方法,此时就可使用接口技术

1,创建一个animal类

Animal.class.php代码如下:<?php

/**

* Created by PhpStorm.

* User: Administrator

* Date: 2018/3/3 0003

* Time: 下午 2:13

*/

abstract class Animal{

public $gender;  //性别

public $size;      //尺寸

public function __construct($gender,$size){

$this->gender=$gender;

$this->size=$size;

}

//限制非抽象类都需要调用此方法

abstract protected function getGender();

//final要求每个子类必须存在该方法并且不能重写

final public function getSize(){

return $this->size;

}

}

2,创建一个dog类

Dog.class.php代码如下:<?php

/**

* Created by PhpStorm.

* User: Administrator

* Date: 2018/3/3 0003

* Time: 下午 2:20

*/

header('content-type:text/html;charset=utf8');

require './Animal.class.php';

class Dog extends Animal {

/**

* @return mixed

*/

public function getGender()

{

return "'$this->gender'狗";

}

}

$dog=new Dog('公','大');

echo $dog->getSize();

echo $dog->getGender();

运行结果如下:

7efd32101fbee7072b50830d1f92641c.png

3,创建一个cat类

Cat.class.php代码如下:<?php

/**

* Created by PhpStorm.

* User: Administrator

* Date: 2018/3/3 0003

* Time: 下午 2:22

*/

header('content-type:text/html;charset=utf8');

require './Animal.class.php';

class Cat extends Animal {

public function getGender()

{

return "'$this->gender'猫";

}

}

$dog=new Cat('母','小');

echo $dog->getSize();

echo $dog->getGender();

运行结果如下:

ba715d52a3a021bf186230e8cc6e1372.png

4,接口类的调用

创建interpace.php文件,代码如下:<?php

/**

* Created by PhpStorm.

* User: Administrator

* Date: 2018/3/3 0003

* Time: 下午 2:34

*/

header('content-type:text/html;charset=utf8');

//定义usb接口

interface usb{

public function connect(); //连接

public function transfer(); //传输

public function disconnect(); //断开

}

class mp3 implements usb{

public function connect()

{

// TODO: Implement connect() method.

echo "连接...
";

}

public function transfer()

{

// TODO: Implement transfer() method.

echo "传输...
";

}

public function disconnect()

{

// TODO: Implement disconnect() method.

echo "断开...
";

}

}

$mp3=new mp3();

$mp3->connect();

$mp3->transfer();

$mp3->disconnect();

运行结果:

8055465d31631209c2bfecdf0b2c367a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值