php 抽象类是个啥

PHP中接口与抽象类总结 PHP中接1、抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。2、抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化。3、如果子类需要实例化,前提是它实现了抽象类中的所有抽象方法。如果子类没有全部实现抽象类中的所有抽象方法,那么该子类也是一个抽象类,必须在 class 前面加上 abstract 关键字,并且不能被实例化。 阅读详情

抽象类:一个类中至少有一个方法是抽象的,我们称之为抽象类。

要求:

  • 1.一个类中至少有一个抽象方法
  • 2.抽象方法不允许有{}
  • 3.抽象方法前面必须加abstract

类前面加abstract

<?php 
    abstract class Human {
        public abstract function getInfo () {
            echo '我是getInfo';
        }
    }
?>

定义了一个Human的抽象类,抽象类中有个抽象方法,执行发现报错

Fatal error: Abstract function Human::getInfo() cannot contain body

抽象方法不能有正文部分(没有方法体),需要去掉花括号

<?php 
    abstract class Human {
        public abstract function getUserInfo ();
        public abstract function getWalletInfo ();
    }
    
    class Student extends Human {
        public function getUserInfo () {
            echo 'getinfo';
        }
        
        public function getWalletInfo () {
            echo 'getwalletInfo';
        }
    }
    
    $Tom = new Student();
    $Tom -> getUserInfo();
    $Tom -> getWalletInfo ();
?>

1.抽象类不能被实例化,只能被继承。
2.继承的派生类当中要把所有抽象方法重载才能实例化

abstract class Human {
    public abstract function getUserInfo ();
    public abstract function getWalletInfo ();
}

class Student extends Human {
    public function getUserInfo () {
        echo 'getinfo';
    }
    
    // public function getWalletInfo () {
    //     echo 'getwalletInfo';
    // }
}

$Tom = new Student();

比如此时派生类种少写了一个getWalletInfo() 方法,就导致new 失败

抽象类的意义:派生类继承抽象类的时候,必须要用抽象类的命名规则去建立方法,否则不允许派生类实例化,其实是申明了一种规范,达到规范方法的目的。

PHP抽象类构造 现实生活中抽象的意思 我的理解就是一个事物大的描述,并不十分具体的描述,只是把事物的某些共性给出来。      那么在PHP中也是一样的,把一个类进行抽象,可以指明某个类的一般行为,这个类可以是一个模板,而继承他的子类中的方法就要去      具体的实现模板的相应功能(注意这里是模板的全部功能)。      下面是我总结的一些注意点:       1.定义的方法,子类必须完全实现这个抽象中所 阅读详情

相关推荐

【PHP面试题01】抽象类、接口 的区别和使用场景

抽象类和接口基本上是面试必问的一个问题,因为用的实在是太普遍了,用好抽象类和接口是开发者必备的技能。但是真正用好二者确实不太容易。抽象类和接口是面向对象编程中的两个核心概念,它们旨在帮助开发者更好地组织和管理代码,并提高代码的可维护性和可扩展性。在本文中,我们将详细介绍抽象类和接口的区别和使用场景,并通过PHP语言给出代码演示。

黑夜开发者的博客 2127

PHP中的 抽象类(abstract class)和 接口(interface)

php抽象类和接口类

怎奈你何的博客 4106

手把手教你实现阿克曼ROS小车的运动控制

本文详细介绍了如何从零开始实现阿克曼ROS小车的运动控制。内容涵盖硬件搭建、STM32底层PID速度与舵机控制、ROS层阿克曼运动学模型解析,以及上下位机通信协议设计。通过手把手的代码示例和调试步骤,帮助机器人爱好者与开发者掌握将高级速度指令转化为小车具体动作的全流程,实现流畅的阿克曼转向控制。

weixin_29193259的博客 199

php中的抽象类的定义,php抽象类的定义及使用

文章主要介绍了php抽象类的定义及使用,实例分析了php抽象类的功能与使用中的相关注意事项。php抽象类1、用 abstract 来修饰一个类,那么这个类就是抽象类;抽象类绝对不能被实例化,即$abc = new 抽象类名();会报错。2、用abstract 来修饰一个方法,那么该方法就是抽象方法;3、如果类中有一个抽象方法,那么该类就必须定义为抽象类;但反过来,抽象类里并不一定要有抽象方法。另外...

weixin_33331639的博客 692

华大HC32F460串口超时中断+DMA收发实战:从STM32迁移的避坑指南

本文为从STM32迁移至华大HC32F460的开发者提供了串口DMA收发的实战避坑指南。核心在于理解HC32F460以串口接收超时中断替代空闲中断的机制,并调整DMA配置策略:DMA应设置为由串口接收事件持续触发搬运,超时中断仅负责通知和重置DMA,从而实现高效可靠的数据收发。

weixin_29175469的博客 114

海康读码器上位机开发避坑指南:IDMVS客户端之外,如何用C# SDK搞定扫码、数据比对与实时控制?

本文详细介绍了如何利用海康读码器的C# SDK进行二次开发,实现从基础扫码到复杂工业控制的全流程解决方案。内容涵盖SDK架构解析、多设备管理系统构建、业务逻辑与设备控制实现,以及系统集成与性能优化等关键环节,为工业自动化领域的开发者提供实用指南。

weixin_30642561的博客 550

PHP面向对象(六)-抽象类

抽象类和接口都是特殊的类,因为它们都不能被实例化。抽象类只能作为父类使用,因为抽象类不能被实例化。 抽象类使用关键字abstract声明。语法格式如下: abstract class 抽象类名称 { //抽象类的成员变量列表 abstract function 成员方法1(参数); //抽象类的成员方法 abstract function 成员方法2(参数); //抽象方法必须使用关键字abstract来修饰,抽象方法后必须有分号。 } 抽象类和普通类的主要区别: 抽象类的方

weixin_43478592的博客 467

忆阻器(二)——忆阻模拟器

除了真实的器件,我们也可以用运放和乘法器来搭忆阻模拟器。这节将介绍数学模型、matlab仿真及multisim仿真。 一、数学模型 忆阻分为磁控和荷控两种,这里介绍三次非线性磁控忆阻模型: {I=W(φ)VW(φ)=a+3bφ2dφdt=V \begin{cases} I=W(\varphi)V \\ W(\varphi)=a+3b \varphi ^2\\ \frac{d \varphi }{dt}=V \end{cases} ⎩⎪⎨⎪⎧​I=W(φ)VW(φ)=a+3bφ2dtdφ​=V​ 这里的WWW

http://www.icfgblog.com/ 1万+

解释PHP的抽象类(abstract class)和接口(interface)的概念,并比较它们之间的区别。

根据具体的需求,选择使用抽象类或接口来实现代码结构。如果需要提供一组方法的契约而无需实现代码,则应使用接口。如果需要提供一些默认的实现代码,并且有一些方法必须由继承的子类实现,则应使用抽象类。PHP中的抽象类和接口是面向对象编程中的两个重要概念,用于实现代码的重用和扩展性。它们有一些共同点,但也有一些重要的区别。

长风破浪会有时的博客 359

SAP GR(Group Reporting)配置篇(一)

GUI组报表的SAP S4HANA1.1全局参数1.1.1 检查全球系统设置菜单路径组报表的SAP S4HANA>合并的全局设置>检查全球系统设置事务代码CXB3说 明定义好分类账、版本、合并科目表后,重新设置。1.2主数据1.2.1定义合并分类账菜单路径组报表的SAP S4HANA>主数据>定义合并分类账事务代码CXL2说 明复制的Y1合并分类账,集团货币为CNY。此功能对分类账进行设置,应用到集团货币分类。

weixin_43853754的博客 1700

Smart PLC高速脉冲输入计米轮模块(编码器测速/计米详细讲解)

线缆行业单绞机PLC控制算法详细解读可以参看下面的文章链接:线缆行业单绞机控制算法(详细图解+代码)_RXXW_Dor的博客-优快云博客在了解单绞机之前需要大家对收放卷以及排线控制有一定的了解,不清楚的可以参看下面几篇博客,这里不再赘述,受水平和能力所限,文中难免出现错误和不足之处,诚恳的欢迎大家批评和指正。PLC张力控制(开环闭环算法分析)_RXXW_Dor的博客-优快云博客_plc闭环控制实例。SMART PLC时间间隔定时器应用(高速脉冲测频/测速)_RXXW_Dor的博客-优快云博客。

RXXW_Dor的博客 2819

php 抽象类的优点,PHP抽象类的作用是什么

PHP抽象类的作用是什么发布时间:2021-01-12 09:30:03来源:亿速云阅读:65作者:LeahPHP抽象类的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在自然语言中,我们理解抽象的概念是,一个物体的一种大的描述,这种描述对某类物体来说是共有的特性。那么在PHP中也是一样的,我们把一个类进行抽象...

weixin_42717586的博客 727

STM32F407驱动OV2640摄像头全栈解析:DCMI+DMA+SCCB协同设计

图像采集是嵌入式视觉系统的基石,其核心在于传感器与MCU间的数据通路构建。原理上需理解并行接口(如DCMI)的硬件同步捕获机制、串行控制总线(如SCCB/I²C)的寄存器级配置逻辑,以及DMA在高吞吐数据搬运中的关键作用。技术价值体现在解放CPU、保障实时性、降低功耗,并支撑JPEG压缩与RGB565直显等差异化应用。典型场景包括智能终端实时预览、低带宽图像上传、工业现场视频监控及教学实验平台搭建。本文以STM32F407与OV2640集成实践为载体,深入剖析DCMI时序约束、SCCB软件模拟实现及DMA循

weixin_36151775的博客 179

php抽象类的写法,php抽象类

对于php编程来说 抽象类算是一个难点,如何更好的理解抽象类呢,请看下面介绍:PHP5支持抽象类和抽象方法。抽象类不能直接被实例化,你必须先继承该抽象类,然后再实例化子类。抽象类中 至少要包含一个抽象方法。如果类方法被声明为抽象的,那么其中就不能包括具体的功能实现。继承一个抽象类的时候,子类必须实现抽象类中的所有抽象方法;另外,这些方法的可见性 必须和抽象类中一样(或者更为宽松)。如果抽...

weixin_29310853的博客 287

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

php抽象类继承

php抽象类跟java、c++什么的就很相似了 php抽象类有以下几个特点: 1. 抽象类继承抽象类时,不能重写父类中的抽象方法 2. 非抽象类继承抽象类时,必须实现抽象类中的所有方法 3. 至少有一个抽象方法的类就是抽象类 下面我们用代码来简单演示一下 <?php /** * Person抽象类 */ abstract class ...

qq_41297145的博客 1034

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

php抽象类,PHP抽象类基本用法示例

本文实例讲述了PHP抽象类基本用法。分享给大家供大家参考,具体如下://抽象类像一个模板,供子类扩展(重写),抽象类里有普通方法(有方法体),也有抽象方法,其中抽象方法没有方法体,且以分号结束。//只要有一个抽象方法,那么此类必须定义为抽象类。//抽象类不能创建自己的实例,在试图创建抽象类对象时,会产生一个致使错误。//在子类里实现抽象类的方法,并且可见性要等于、高于抽象方法的可见性,抽象类(pu...

weixin_28730037的博客 372

php 中抽象类的作用,解释PHP中的抽象类。

PHP5附带了面向对象的模型,面向对象的模型的一些概念是:类,对象,封装,多态性,抽象类和最终类,以及方法,接口和继承等。在本文中,我们将讨论Abstract Class及其与PHP中的面向对象技术有关的功能。此外,我们还将通过几个示例学习Abstract Class的实现。但是,在深入之前,让我们学习如何定义抽象类。我们可以通过在类名后加上abstract关键字来将类声明为抽象类。定义非常清楚,...

weixin_39930276的博客 316

抽象类在php中有什么作用,php中抽象类的作用是什么?

PHP抽象类如何定义,PHP抽象类的应用规则要充分发挥抽象类的特点,就必须牢记以下规则1.某个类只要包含至少一个抽象方法就必须声明为抽象类.2.声明为抽象的方法,在实现的时候必须包含相同的或者更低的访问级别.例如,如果某个方法在抽象类中的访问级别是受保护的,在继承类中它就必须是受php 抽象类使用时应注意哪些php抽象类使用要点与注意事项如下:用abstract 来修饰一个方法,那么该方法就是抽象...

weixin_35795512的博客 844

PHP 抽象类

在自然语言中,我们理解抽象的概念是,一个物体的一种大的描述,这种描述对某类物体来说是共有的特性。那么在PHP中也是一样的,我们把一个类进行抽象,可以指明类的一般行为,这个类应该是一个模板,它指示它的子方法必须要实现的一些行为。  PHP抽象类应用的定义:  abstract class ClassName{  }  PHP抽象类应用要点:    1.定义一些方法,子类必须完全实现这个

Delete_V的专栏 1098

PHP的OOP:PHP中的抽象类和接口

php 中的抽象类和 php 中的接口是 PHP 面向对象编程 (OOP) 中的重要概念。抽象类用作其他类的蓝图,不能单独实例化。它可以包含具体方法和抽象方法。抽象方法定义方法签名,而不提供任何实现。另一方面,接口定义了类必须遵守的协定。它们仅由方法签名和常量组成,没有任何实现。类可以实现多个接口,但只能从一个抽象类继承。抽象类和接口都提供了一种在 PHP 应用程序中强制执行结构、标准化行为和促进代码可重用性的方法。

新华编程特战队 2372

PHP抽象类应用要点

PHP抽象类应用要点: 1.定义一些方法,子类必须完全实现这个抽象中所有的方法 2.不能从抽象类创建对象,它的意义在于被扩展 3.抽象类通常具有抽象方法,方法中没有大括号 PHP抽象类应用重点: 1.抽象方法不必实现具体的功能,由子类来完成 2.在子类实现抽象类的方法时,其子类的可见性必须大于或等于抽象方法的定义 3.抽象类的方法可以有参数,也可以为空 4.如果抽象方法有参数,那么子类的实现也必须...

科比不来it 711

php 抽象类应用,PHP抽象类与其应用

抽象类是不能实例化的类,只能作为由其他类继承的基类。例如,考虑一个名为Media的类,它用来描述各种公开资料的共同性质,因为Media不表示真实的实体,而是一些相似的泛化表示,所以你不会希望直接对其进行实例化。为确保这种情况不会发生,可以声明这个类是抽象的。然后再由各种派生的Media类继承此抽象类,这保证了子类直接的一致性,因为在抽象类中定义的所有方法都必须在子类中实现。声明为抽象的类必须在定义...

weixin_34378978的博客 213

PHP抽象类

在自然语言中,我们理解抽象的概念是,一个物体的一种大的描述,这种描述对某类物体来说是共有的特性。那么在PHP中也是一样的,我们把一个类进行抽象,可以指明类的一般行为,这个类应该是一个模板,它指示它的子方法必须要实现的一些行为。 PHP抽象类应用的定义: abstract class ClassName { } PHP抽象类应用要点: 1.定义一些方法,子类必须完全实现这个抽象中所有的方

HackProgramer的专栏 534

php 抽象类 接口,PHP 抽象类与接口(上)

PHP 抽象类与接口(上)由 学院君 创建于9个月前, 最后更新于 7个月前版本号 #22575 views2 likes0 collects引言上篇教程学院君给大家介绍了父子类之间的继承与方法重写,并且提到类作为参数类型声明时,子类实例可以转化为父类,但父类实例不能转化为子类,这是因为,子类必然包含了父类方法,反之则不一定。但是在实际面向对象编程实践中,并不推荐使用具体的类作为类型声明,因为当我...

weixin_33895652的博客 172
上一篇: jQuery 解决 动态创建的元素添加不了事件 问题
下一篇: Vue React 各种大乱炖 对比
cofecode
博客等级 码龄9年 43粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值