返回顶部
首页 > 资讯 > 后端开发 > 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://lsjlt.com/news/1477.html(转载时请注明来源链接)

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

猜你喜欢
  • 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+
    2024-04-02
  • 什么是php抽象类和抽象方法
    这篇文章主要介绍“什么是php抽象类和抽象方法”,在日常操作中,相信很多人在什么是php抽象类和抽象方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是php抽象类和抽象方法”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-20
  • 在Python中定义和使用抽象类的方法
    像java一样python也可以定义一个抽象类。 在讲抽象类之前,先说下抽象方法的实现。 抽象方法是基类中定义的方法,但却没有任何实现。在java中,可以把方法申明成一个接口。而在python中实现一个抽象...
    99+
    2022-06-04
    定义 方法 抽象类
  • 知道java抽象类与抽象方法是什么吗?
    java抽象类与抽象方法是什么?在类的继承中,如果一个个新的子类被定义,子类变得越来越具体,父类变得更加一般和通用,类的设计应该保证父子类能够共享特征,有时将父类设计得非常抽象,使得父类没有具体的实例,这样的类叫做抽象类;一般当我们设计一个...
    99+
    2016-03-20
    java教程 java 抽象类 抽象方法
  • 在Python中定义和使用 抽象类及抽象
    原文链接:http://www.jb51.net/article/87710.htm 本文根据自己的理解和思考,对原文略有改动。。。 Python中我们可以使用abc模块来构建抽象类。在讲抽象类之前,先说下抽象方法的实现。 抽象方法是基类...
    99+
    2023-01-31
    抽象 定义 抽象类
  • java抽象类如何定义
    Java中定义抽象类需要使用关键字"abstract"。抽象类不能被实例化,只能作为其他类的父类,供其他类继承使用。抽象类的定义方式...
    99+
    2023-10-20
    java
  • javascript能定义实例方法吗
    这篇文章主要介绍“javascript能定义实例方法吗”,在日常操作中,相信很多人在javascript能定义实例方法吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
    99+
    2024-04-02
  • php定义数组的方法吗
    在PHP中,定义数组的方法有多种。下面分别介绍一下常用的几种方法。字面量方式使用字面量方式可以直接在代码中定义数组:$arr1 = [1, 2, 3]; $arr2 = ['apple', 'banana', 'orange'];array...
    99+
    2023-05-19
  • php能定义数组吗
    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑php能定义数组。PHP提供了多种方法来定义并初始化数组。方法1、直接为数组元素赋值我们可以通过形如“$数组变量名[下标] = 值;”的格式来创建并初始化数组...
    99+
    2024-04-02
  • php如何调用抽象方法
    在 PHP 中,抽象方法是一种不能在抽象类中实现但必须在其实现类中实现的方法。抽象方法可以定义在抽象类或接口中,并且其定义方式类似于普通方法,但以 abstract 关键字开头并省略方法体实现。抽象方法必须在子类中覆写实现。如果您想学习如何...
    99+
    2023-05-14
  • Java抽象定义的示例分析
    小编给大家分享一下Java抽象定义的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、概述在OOP这个概念中,所有的对象都是通过类来描述的;但是并不是所有...
    99+
    2023-06-14
  • php中抽象方法怎么使用
    这篇文章主要介绍了php中抽象方法怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php中抽象方法怎么使用文章都会有所收获,下面我们一起来看看吧。什么是抽象方法?一个抽象方法是没有实现代码的方法。它只是定...
    99+
    2023-07-05
  • php面向对象中类的定义方法
    这篇文章主要介绍php面向对象中类的定义方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!php的框架有哪些php的框架:1、Laravel,Laravel是一款免费并且开源的PHP应用框架。2、Phalcon,Ph...
    99+
    2023-06-14
  • Java抽象定义以及举例代码
    一、概述 在OOP这个概念中,所有的对象都是通过类来描述的;但是并不是所有的类都是用来描述对象的。如果一个类没有包含足够的信息来描述一个具体的对象,这样的类称为抽象类。 抽象类:(1...
    99+
    2024-04-02
  • c++抽象类怎么定义及使用
    C++中的抽象类是指含有纯虚函数的类,它不能被实例化,只能被继承。抽象类用于定义一个接口,具体的实现由派生类完成。抽象类的定义通常包...
    99+
    2023-10-12
    c++
  • PHP中的静态方法与抽象方法详解
    PHP作为一种常用的服务器端脚本语言,有许多高级特性可供开发者灵活运用。其中,静态方法和抽象方法在面向对象编程中起着重要的作用。本文将深入探讨PHP中静态方法和抽象方法的概念、用法和实...
    99+
    2024-03-05
    php 静态方法 抽象方法
  • JAVA抽象类和抽象方法怎么使用
    在Java中,抽象类是用来定义一组相关类的共同特征和行为的。抽象类不能被实例化,只能被继承。要定义一个抽象类,需要在类的声明前加上关...
    99+
    2023-08-17
    JAVA
  • Angular框架详解之视图抽象定义
    前言 作为“为大型前端项目”而设计的前端框架,Angular 其实有许多值得参考和学习的设计,本系列主要用于研究这些设计和功能的实现原理。本文主要围绕 Angular 中与视图有关的...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作