什么是php 抽象类
抽象类:一个类中至少有一个方法是抽象的,我们称之为抽象类。
要求:
- 1.一个类中至少有一个抽象方法
- 2.抽象方法不允许有{}
- 3.抽象方法前面必须加abstract
- 4.抽象类只允许被继承,不能实例化
类前面加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 抽象类相关推荐
- java 抽象方法 虚方法的区别_声明抽象类(纯虚方法)会大幅增加二进制大小
以下是故事:我正在使用AC6 Toolpack为Linux中的ARM Cortex-M0处理器开发C软件 . 在我使用Keil(在windows中)(拥有自己的工具链)之前,我已经迁移到GNU-too ...
- JAVA中的接口和抽象类的区别
1.一个类可以实现多个接口,但是却只能继承最多一个抽象类: 2.抽象类可以包含具体的方法,接口的所有方法都是抽象的: 3.抽象类可以声明和使用字段:接口则不能,但接口可以创静态的final常量: 4. ...
- [19/03/30-星期六] IO技术_四大抽象类_ 字节流( 字节输入流 InputStream 、字符输出流 OutputStream )_(含字节文件缓冲流)...
一.概念及分类 InputStream(输入流)/OutputStream(输出流)是所有字节输入输出流的父类 [注]输入流和输出流的是按程序运行所在的内存的角度划分的 字节流操作的数据单元是8的字节 ...
- 深入理解Java的接口和抽象类
http://www.cnblogs.com/dolphin0520/p/3811437.html 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口 ...
- 接口与抽象类的使用选择
为什么有的地方必须使用接口而不是抽象类,而在另一些地方,又必须使用抽象类而不是接口呢?或者说,在考虑Java类的一般化问题时,很多人会在接口和抽象类之间犹豫不决,甚至随便选择一种. 首先来了解一下接口 ...
- 不允许使用抽象类类型的对象怎么办_Java基础——面试官:你来说说抽象类和接口的区别...
无论你是新手Java 程序员,还是老手程序员,可能在实际开发中很少自己写抽象类. 但是抽象类在某些时候的功能很强大,可以保证子类中百分百实现父类中的方法 -- 普通类的弊端,消除子类的冗余代码 -- ...
- php 类 接口的区别吗,PHP的接口类(interface)和抽象类(abstract)的区别
/** * 接口类:interface * 其实他们的作用很简单,当有很多人一起开发一个项目时,可能都会去调用别人写的一些类, * 那你就会问,我怎么知道他的某个功能的实现方法是怎么命名的呢,这个时候 ...
- 设计一个扩展自抽象类geometricobject的新的triangle类_C++ 接口(抽象类)
C++ 接口(抽象类) 接口描述了类的行为和功能,而不需要完成类的特定实现. C++ 接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念. 如果类中至 ...
- 【C++】多态(早期绑定、后期绑定)、抽象类(纯虚函数)、虚析构函数
我们都知道面向对象编程的三大特征是封装.继承.多态,今天我们就来说一下其中之一的多态. 概念: 多态: 多态字面意思就是多种形态,C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同 ...
- php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析
本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...
最新文章
- 一个实用的PHP缓存实例
- [LeetCode] Excel Sheet Column Number
- iOS UI基础-6.0 UIActionSheet的使用
- CodeForces - 566A Matching Names(字典树上贪心)
- 【转】伪静态URLRewrite学习笔记
- 【渝粤教育】国家开放大学2018年春季 0273-21T中国现代文学 参考试题
- UnicodeEncodeError: 'gbk' codec can't encode character '\xeb' in position 20: illegal multibyte sequ
- mybatis 一对多查询 按结果嵌套处理、按查询嵌套处理,以及两者之间的区别
- php 汉字转拼音及获取拼音首字母
- Hibernate框架 简述
- 如何在VB中实现ActiveX控件的IobjectSafety接口
- python库管理_Python中管理数据库
- 【Excel-2010】VLOOKUP函数
- mybatis学习第一次使用
- 计算机基础与office应用教程,计算机基础与Office 2010实用教程
- Movavi Screen Recorder 10 Mac(全能录屏软件) 中文激活版
- 服务器安装系统路径,裸金属服务器安装多路径软件
- Matebook xpro2019指纹驱动不可用
- Failed to ignore SIGHUP: No error
- 基于openssl的3DES(ECB)加密算法
热门文章
- 寻找苹果帝国的二当家
- 什么叫单模光纤_单模光纤和多模光纤有什么区别
- 学生信息管理系统之查:查询成绩信息流程
- OSPF、RIP路由双向引入实验报告
- 国内外有哪些比较好的电子技术的网站类似github?
- [转载]如何提高.NET Compact Framework应用程序的性能 - 黎波 - 博客园
- 错误:安装autocad2012的时候提示Command line option syntax error.Type Command/?for help.
- [DEFCON全球黑客大会] CTF(Capture The Flag)
- sql注入--宽字节注入
- Python 语言发展历史