广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php能定义抽象方法吗
  • 257
分享到

php能定义抽象方法吗

php抽象方法 2015-12-08 14:12:35 257人浏览 无得
摘要

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php能定义抽象方法。在面向对象语言中,一个类可以有一个或多个子类,而每个类都应该至少有一个公有方法作为外部代码访问它的入口。抽象类和抽象方法是在 PHP5 中引入的一

教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php能定义抽象方法。

面向对象语言中,一个类可以有一个或多个子类,而每个类都应该至少有一个公有方法作为外部代码访问它的入口。

抽象类和抽象方法是在 PHP5 中引入的一个概念,主要是为了方便类继承。

抽象方法和抽象方法

抽象方法是没有方法体的方法,所谓的没有方法体指的就是,在声明方法时候没有花括号{ }以及其中的内容,而是直接在方法名后加上分号结束。另外,在声明抽象方法时要使用“abstract”关键字修饰。格式如下所示:

abstract 访问权限修饰符 function 方法名1(参数列表);
abstract 访问权限修饰符 function 方法名2(参数列表);

示例:

abstract function fun1();
abstract function fun2();

上例是就是“abstract”修饰的没有方法体的抽象方法“fun1()”和“fun2()”,不要忘记抽象方法后面还要有一个分号;

那么什么是抽象类呢?

只要一个类里面有一个方法是抽象方法,那么这个类就要定义为抽象类,抽象类也要使用“abstract”关键字来修饰;在抽象类里面可以有不是抽象的方法和成员属性,但只要有一个方法是抽象的方法,这个类就必须声明为抽象类,使用”abstract”来修饰。

abstract class Demo
{

    var $test;

    abstract function fun1();
    abstract function fun2();

    function fun3(){
        ...
    }
}

上例中定义了一个抽象类“Demo”使用了”abstract”来修饰, 在这个类里面定义了一个成员属性“$test”,和两个抽象方法“fun1”和“fun2”,还有一个非抽象的方法fun3();

那么抽象类我们怎么使用呢?最重要的一点就是抽象类不能产生实例对象, 所以也不能直接使用,前面我们多次提到过类不能直接使用,我们使用的是通过类实例化出来的对象,那么抽象类不能产生实例对象我们声明抽象类有什么用呢?我 们是将抽象方法是做为子类重载的模板使用的,定义抽象类就相当于定义了一种规范,这种规范要求子类去遵守,子类继承抽象类之后,把抽象类里面的抽象方法按 照子类的需要实现。子类必须把父类中的抽象方法全部都实现,否则子类中还存在抽象方法,那么子类还是抽象类,还是不能实例化类;为什么我们非要从抽象类中继承呢?因为有的时候我们要实现一些功能就必须从抽象类中继承,否则这些功能你就实现不了,如果继承了抽象类,就要实现类其中的抽象方法;

<?
abstract class Demo
{
    var $test;

    abstract function fun1();
    abstract function fun2();

    function fun3() {
        ...
    }
}

$demo=new Demo(); //抽象类不能产生实例对象,所以这样做是错的,实例化对象交给子类

class Test extends Demo
{
    function fun1() {
        ...
    }

    function fun2() {
        ...
    }
}

$test = new Test(); //子类可以实例化对象,因为实现了父类中所有抽象方法
?>

--结束END--

本文标题: php能定义抽象方法吗

本文链接: https://www.lsjlt.com/news/1477.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php能定义抽象方法吗
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php能定义抽象方法。在面向对象语言中,一个类可以有一个或多个子类,而每个类都应该至少有一个公有方法作为外部代码访问它的入口。抽象类和抽象方法是在 PHP5 中引入的一...
    99+
    2015-12-08
    php 抽象方法
  • php能不能定义抽象方法
    这篇文章给大家分享的是有关php能不能定义抽象方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。php能定义抽象方法。PHP5中为了方便类继承,引入抽象方法的概念;抽象方法是没有方法体的方法,PHP中声明抽象方法...
    99+
    2023-06-29
  • Python抽象基类的定义与使用方法
    目录1、定义抽象基类的子类2、标准库中的抽象基类3、定义抽象基类4、再看白鹅类型前言: 我们写Python基本不需要自己创建抽象基类,而是通过鸭子类型来解决大部分问题。《流畅的Pyt...
    99+
    2022-11-12
  • 什么是php抽象类和抽象方法
    这篇文章主要介绍“什么是php抽象类和抽象方法”,在日常操作中,相信很多人在什么是php抽象类和抽象方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是php抽象类和抽象方法”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • 知道java抽象类与抽象方法是什么吗?
    java抽象类与抽象方法是什么?在类的继承中,如果一个个新的子类被定义,子类变得越来越具体,父类变得更加一般和通用,类的设计应该保证父子类能够共享特征,有时将父类设计得非常抽象,使得父类没有具体的实例,这样的类叫做抽象类;一般当我们设计一个...
    99+
    2016-03-20
    java教程 java 抽象类 抽象方法
  • 在Python中定义和使用抽象类的方法
    像java一样python也可以定义一个抽象类。 在讲抽象类之前,先说下抽象方法的实现。 抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在python中实现一个抽象...
    99+
    2022-06-04
    定义 方法 抽象类
  • javascript能定义实例方法吗
    这篇文章主要介绍“javascript能定义实例方法吗”,在日常操作中,相信很多人在javascript能定义实例方法吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
    99+
    2022-10-19
  • php定义数组的方法吗
    在PHP中,定义数组的方法有多种。下面分别介绍一下常用的几种方法。字面量方式使用字面量方式可以直接在代码中定义数组:$arr1 = [1, 2, 3]; $arr2 = ['apple', 'banana', 'orange'];array...
    99+
    2023-05-19
  • php如何调用抽象方法
    在 PHP 中,抽象方法是一种不能在抽象类中实现但必须在其实现类中实现的方法。抽象方法可以定义在抽象类或接口中,并且其定义方式类似于普通方法,但以 abstract 关键字开头并省略方法体实现。抽象方法必须在子类中覆写实现。如果您想学习如何...
    99+
    2023-05-14
  • php能定义数组吗
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑php能定义数组。PHP提供了多种方法来定义并初始化数组。方法1、直接为数组元素赋值我们可以通过形如“$数组变量名[下标] = 值;”的格式来创建并初始化数组...
    99+
    2022-10-18
  • php中抽象方法怎么使用
    这篇文章主要介绍了php中抽象方法怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php中抽象方法怎么使用文章都会有所收获,下面我们一起来看看吧。什么是抽象方法?一个抽象方法是没有实现代码的方法。它只是定...
    99+
    2023-07-05
  • php面向对象中类的定义方法
    这篇文章主要介绍php面向对象中类的定义方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框架。2、Phalcon,Ph...
    99+
    2023-06-14
  • java中的抽象类和接口定义与用法详解
    目录一、抽象类1.什么叫抽象类?2.抽象类的特点:3.成员特点:二、接口1.接口是什么?2.接口的特点3.接口的组成成员4.类与抽象的关系:5.抽象类与接口的区别:一、抽象类...
    99+
    2022-11-12
  • python对象方法怎么定义
    这篇文章主要讲解了“python对象方法怎么定义”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python对象方法怎么定义”吧!概念在类中,对象调用的函数称为对象方法,一般也称为方法。定义格...
    99+
    2023-06-30
  • php中什么是抽象方法?如何使用?
    PHP是一种流行的编程语言,用于Web开发,其中类是一个重要的概念。在PHP中,类可以定义抽象方法,这些方法的实现被留给子类,以便在运行时实现。通过使用抽象类和方法,PHP程序员可以设计出可重用性更高,更可靠的代码。本文将介绍PHP类定义抽...
    99+
    2023-05-14
    抽象方法 php
  • JavaScript定义对象数组的方法
    这篇文章主要介绍“JavaScript定义对象数组的方法”,在日常操作中,相信很多人在JavaScript定义对象数组的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ja...
    99+
    2022-10-19
  • JavaScript 自定义对象方法汇总
    目录一使用object创建对象二使用构造函数创建对象三字面量创建对象四this关键字this表示当前对象五基本数据类型和引用数据类型基本数据类型引用数据类型六闭包如何理解闭包?闭包的...
    99+
    2022-11-12
  • php能写方法吗
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php能写方法吗?php能写方法,方法也就是指函数,那么创建 PHP 函数,也是很简单的:函数是通过调用函数来执行的。语法<php function functi...
    99+
    2018-06-05
    php
  • java的预定义Class对象的方法
    今天小编给大家分享的是java的预定义Class对象的方法,相信很多人都不太了解,为了让大家更加了解,所以给大家总结了以下内容,一起往下看吧。一定会有所收获的哦。基本的 Java 类型(boolean、byte、char、short、int...
    99+
    2023-07-06
  • javascript对象的定义方法是什么
    小编给大家分享一下javascript对象的定义方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript对象的定义方法:1、工厂方式;2、构造...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作