首页 > 编程知识 正文

phpsessid是什么意思,php define 函数

时间:2023-05-04 20:29:00 阅读:107709 作者:1960

php类接口的应用关键词是接口、输入。 接口是一种特殊的抽象类,成员属性均为抽象或常量,implements主要使用类名、类所具有的方法和传递的参数作为约束和规范。 类似于abstract抽象类。

应用类内接口

1 .关键词:界面

2 .关键词: implements

1 .界面介绍和制作

接口:成员的所有属性都是抽象或常量的特殊抽象类。

规则:

1 .类中都是抽象方法。

2 .抽象方法钱不用加abstract。

3 .接口抽象方法的属性是公共的。

4 .成员属性必须是常数。

格式代码是以下:

接口demo {

const NAME='常量对象属性';

函数myfun1(; //抽象的方法

function myfun2(; //用抽象的方法,不用具体写逻辑

}

一.接口的定义和调用

接口公司

{

const film='加勒比海盗';

公共功能显示(;

}

class Order implements Cinema

{

公共功能显示(

{

echo '电影界面已打开

';

}

}

$face=new Order (;

echo $face-show (;

echo Cinema:film;

说明:上面的例子请注意。 接口的方法名称为show,继承接口的类需要名为show的方法。 否则会报告错误。 也就是说接口的方法是假的,真正起作用的是继承的类中的方法,这里接口和php的抽象类不是有点相似吗?

二是参数约束严格

接口公司

{

publicfunctionshow(order$show,$num );

}

//显示正常

class Order implements Cinema

{

public $number='0011列';

publicfunctionshow(order$show,$num ) ) ) ) ) ) ) ) ) )。

{

echo $show-number.$num;

}

}

$face=new Order (;

$face-show(neworder,$num='3人'); //输出0011列3人

说明:在上面的示例中,在接口类中调用接口的方法时,传递的参数必须与接口中的参数名称一一对应。 否则我会报告错误。

三是接口之间的继承和调用接口传播参数

接口公司

{

公共功能显示(;

}

接口cinema1extends cinema

{

publicfunctionshow1(order1$ object,$num );

}

class Order implements Cinema1

{

公共功能显示(

{

echo '准备完毕

';

}

publicfunctionshow1(order1$ object,$num ) )。

{

//var_dump($object;

echo $object-number.'$num

';

}

}

类订单1

{

public $number='0012列';

功能函数

echo '=================echo '=====;

}

}

$show=new Order1;

$show-fun (;

$test=new Order (;

$test-show (;

$test-show1($show,$num='6人');

//输出===============准备完毕0012列6人

说明:在上面的示例中,您可以看到接口Cinemal1继承了接口Cinemal,而类Order继承了接口Cinemal1。 不知道你是否发现了,class系Order包括两种方法。 一个是show,一个是show1,一个也不能少。 如果少一个

,报fatal错误。show1(Order1 $object,$num)中的Order1必须根继承类的名子要一样class Order1。如果不一样,也会报fatal错误。那如果一个接口被多个类继承,并且类名又不一样,怎么办呢?那就要用self了,下面会提到

四,一个接口多个继承

interface demo {

const NAME = "电影名称";

function fun1();

function fun2();

}

interface demo2 {

function fun3();

function fun4();

}

interface demo3 {

const TEST = "这里是测试Test";

function fun5();

}

class MyDemo implements demo, demo2 {

function fun1() {

echo "你好";

}

function fun2() {

echo "----------";

}

function fun3() {

echo "我也好
";

}

function fun4() {

echo "大家都好
";

}

}

class YourDemo extends MyDemo implements demo3 {

function fun5() {

echo "继承类后引用接口";

}

}

$p = new YourDemo;

$p->fun1();

$p->fun2();

$p->fun3();

$p->fun4();

$p->fun5();

以上输出

你好----------我也好

大家都好

继承类后引用接口

上面的例子中我们可以看到接口都使用关键字 interface 来定义,并使用关键字 implements 来实现接口中的方法,再举个例子:

//定义接口

interface User{

function getDiscount();

function getUserType();

}

class VipUser implements User{ //VIP用户 接口实现

private $discount = 0.8; // VIP 用户折扣系数

function getDiscount() {

return $this->discount;

}

function getUserType() {

return "VIP用户";

}

}

class Goods{

var $price = 88;

var $vc;

function run(User $vc){ //定义 User 接口类型参数,这时并不知道是什么用户

$this->vc = $vc;

$discount = $this->vc->getDiscount();

$usertype = $this->vc->getUserType();

echo $usertype."商品价格:".$this->price*$discount;

}

}

$display = new Goods();

$display ->run(new VipUser); //VIP用户商品价格:70.4

这个例子演示了一个 PHP 接口的简单应用。该例子中,User 接口实现用户的折扣,而在 VipUser 类里面实现了具体的折扣系数。最后商品类 Goods 根据 User 接口来实现不同的用户报价.

最后总结下:

抽象类和接口的区别

接口是特殊的抽象类,也可以看做是一个模型的规范。接口与抽象类大致区别如下:

1.一个子类如果 implements 一个接口,就必须实现接口中的所有方法(不管是否需要);如果是继承一个抽象类,只需要实现需要的方法即可。

2.如果一个接口中定义的方法名改变了,那么所有实现此接口的子类需要同步更新方法名;而抽象类中如果方法名改变了,其子类对应的方法名将不受影响,只是变成了一个新的方法而已(相对老的方法实现)。

3.抽象类只能单继承,当一个子类需要实现的功能需要继承自多个父类时,就必须使用接口。

以上所述是小编给大家介绍的php中的implements 使用详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。