分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

PHP面向对象(抽象类与抽象方法、接口的实现)

发布时间:2023-09-06 02:34责任编辑:彭小芳关键词:PHP面向对象

一、抽象类与抽象方法

1,任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。

2,定义为抽象的类不能被实例化。

3, 被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 

4,必须在子类中将抽象类的全部抽象方法全部实现才可以

<?php // 任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。abstract class Person // 定义为抽象的类不能被实例化。{  public $name;
  public function __construct($name)  {    $this->name = $name;  }
  // 被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。   abstract protected function hello();
  abstract protected function say();
  public function show()  {    return "我的名字:".$this->name;  }}
class Worker extends Person{  // 必须在子类中将抽象类的全部抽象方法全部实现才可以  public function hello()  {    return ‘Hello ‘.$this->name;  }
  public function say()  {    return ‘Say ‘.$this->name;  }
}
$worder = new Worker(‘小明‘);echo $worder->hello(); // Hello 小明echo ‘<hr>‘;echo $worder->say(); // Say 小明echo ‘<hr>‘;echo $worder->show(); // 我的名字:小明?>

二、接口的实现

使用接口(interface),可以指定某个类必须实现哪些方法,但不需要定义这些方法的具体内容。

接口是通过 interface 关键字来定义的,就像定义一个标准的类一样,但其中定义所有的方法都是空的。

接口中定义的属性是类常量,定义的所有方法都必须是公有的抽象方法,所以public 、abstract 可不写,这是接口的特性。

<?php interface Person1{  // 接口中定义的属性必须是:类常量  const SITENAME = ‘我在学习PHP‘;  // 接口中定义的所有方法都必须是公有的抽象方法,所以public 、abstract 可不写  function show();  function do();}
interface Person2{  function hello();}
// 接口不允许实例化,但可以被继承,创建一个类继承接口并实现所有的抽象方法class Worker implements Person1,Person2{  public function show()  {    return self::SITENAME;  }  public function do()  {    return ‘我在写代码~~‘;  }   public function hello()  {    return ‘PHP是非常好的一种语言~~‘;  } }
$worker = new Worker();echo $worker->show(); // 我在学习PHPecho ‘<hr>‘;echo $worker->do(); // 我在写代码~~echo ‘<hr>‘;echo $worker->hello(); // PHP是非常好的一种语言~~?>

PHP面向对象(抽象类与抽象方法、接口的实现)

原文地址:https://www.cnblogs.com/dawuge/p/10480735.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved