1、什么是抽象方法?

没有方法体{}的方法,必须使用abstract关键字修饰。这样的方法,我们称为抽象方法。

abstract function say(); //抽象方法

2、什么是抽象类?

使用abstract关键字修饰的类就是抽象类。

abstract class Person{}

3、抽象类的注意事项:

① 抽象类可以包含非抽象方法;

② 包含抽象方法的类必须是抽象类,抽象类并不一定必须包含抽象方法;

③ 抽象类,不能实例化。(抽象类中可能包含抽象方法,抽象方法没有方法体,实例化调用没有意义)

我们使用抽象类的目的,就是限制实例化!!!

4、子类继承抽象类,那么子类必须重写父类的所有抽象方法,除非,子类也是抽象类。

5、使用抽象类的作用?

① 限制实例化。(抽象类是一个不完整的类,里面的抽象方法没有方法体,所以不能实例化)

② 抽象类为子类的继承提供一种规范,子类继承一个抽象类,则必须包含并且实现抽象类中已定的抽象方法。

七、接口与多态

一接口

1、什么是接口?

接口是一种规范,提供了一组实现接口的类所必须实现的方法组合。

接口使用interface关键字声明;

interface Inter{}

2、接口中的所有方法,必须都是抽象方法。

接口中的抽象方法不需要也不能使用abstract修饰。

3、接口中不能声明变量,不能有属性,只能使用常量!!!

4、接口可以继承接口,使用extends关键字!

接口使用extends继承接口,可以实现多继承。

interface int1 extends Inter,Inter2{}

5、类可以实现接口,使用implements关键字!

类使用implements实现接口,可同时实现多个接口,多个接口间逗号分隔;

abstract class Person implements Inter,Inter2{}

一个类实现一个或多个接口,那么这个类,必须实现所有接口中的所有抽象方法!

除非,这个类是抽象类。

【接口&&抽象类区别】:

①声明方式上,接口使用interface关键字,抽象类使用abstract class。

②实现/继承方式上,一个类使用extends继承抽象类,使用implements实现接口。

③抽象类只能单继承,接口可以多实现。(接口extends接口)、多实现(类implements接口)

④抽象类中可以有非抽象方法,接口中只能有抽象方法,不能有费抽象方法。抽象类中的抽象方法必须使用abstract关键字修饰,接口中抽象方法不能带修饰词。

⑤抽象类是个类,可以有属性、变量;接口中只能有常量。

二多态

二、多态

1、一个类,被多个子类继承。

如果,这个类的某个方法,在多个子类中,表现出不同的功能,我们称这种行为为多态。

2、实现多态的必要途径:

① 子类继承父类;

② 子类重写父类方法;

③ 父类引用指向子类对象

php 类 抽象方法,「php抽象类和抽象方法」- 海风纷飞Blog相关推荐

  1. docker项目部署 php_「Docker部署PHP+Vue项目」- 海风纷飞Blog

    创建Docker映射目录-- vue_demo         # Demo项目 -- php_vue -- docker-compose.yaml -- nginx ---- apps        ...

  2. centos7查看当前端口_「Centos7开放及查看端口」- 海风纷飞Blog

    1.开放端口 firewall-cmd --zone=public --add-port=5432/tcp --permanent  # 开放5432端口 firewall-cmd --zone=pu ...

  3. laravel services.php,「Laravel框架中使用Service模式」- 海风纷飞Blog

    若将商业逻辑都写在controller,会造成controller肥大而难以维护,基于SOLID原则,我们应该使用Service模式辅助controller,将相关的商业逻辑封装在不同的service ...

  4. mysql支持事务的储存引擎_「mysql事务与mysql储存引擎」- 海风纷飞Blog

    事务概念及存储引擎 1.0 为何要事务? 先来看一个场景,银行转账汇款: 李彦宏和周鸿祎天天打架,现在让李彦宏给周鸿祎转款1000 元 设计如下表 account表 编号(id)用户名(user)金额 ...

  5. 上海时间戳 php,「PHP的时间戳与具体时间转化」- 海风纷飞Blog

    三个内置函数:time()   //获取UNIX系统时间戳 mktime(hour,minute,second,month,day,year)  //将指定时间转化为时间戳 date(时间格式,时间戳 ...

  6. java类和抽象方法课件_java抽象类和抽象方法(转载)

    抽象类就是不能使用new方法进行实例化的类,即没有具体实例对象的类.抽象类有点类似"模板"的作用,目的是根据其格式来创建和修改新的类.对象不能由 抽象类直接创建,只可以通过抽象类派 ...

  7. abstract 类和 abstract 方法 (抽象类与抽象方法)

    抽象一直以来都是人们所神往的艺术形式,这点从梵高,毕加索等艺术家的身上就可以看出.抽象所代表的是一种形式上的美感,颇有一种虚无缥缈只可意会不可言传的意味.但是JAVA中的抽象类与抽象方法相对而言就更加 ...

  8. java抽象方法声明_java抽象类和抽象方法

    一.什么是抽象类和抽象方法 没有具体功能的实现,通过子类继承后重写方法来实现一定约束的类称之为抽象类,抽象类必须被abstract修饰.抽象方法就是只有方法声明,没有方法体的方法.抽象类的使用一般通过 ...

  9. java抽象方法实例_Java 抽象类和抽象方法实例

    Linux参考文章 定义 Shape 类表示一般二维图形.Shape 具有抽象方法 area 和 perimeter,分别计算形状的面积和周长.试定义一些二维形状类(如矩形.三角形.圆形等),这些均为 ...

  10. 线程中这么调用类_「手撕面试官」谈谈你对JDK中Executor的理解?

    欢迎关注头条号:Java小野猫 前言 随着当今处理器计算能力愈发强大,可用的核心数量越来越多,各个应用对其实现更高吞吐量的需求的不断增长,多线程 API 变得非常流行.在此背景下,Java自JDK1. ...

最新文章

  1. 书评 | 如何让开发中的各种文档变活?《活文档》阅读总结
  2. 华为p40论坛_花粉俱乐部网友:华为P40千万别上双扬声器,小米10方向错了
  3. 趣味图解编程算法,文科生都看懂了
  4. vue3与vue2的详细区别
  5. SAP Commerce Cloud Product Review 的添加逻辑
  6. dovecot mysql_dovecot+mysql
  7. Python面试题目--汇总
  8. 封装cookie.js、EventUtil.js、
  9. lsass.exe文件丢失,损坏
  10. 使用tcpdump,adb进行手机抓包
  11. php中svn上传项目直接访问不了,phpstorm8 通过svn导入项目后项目右键列表里没有subversion选项,无法提交和更新啊?...
  12. IHttphandler之“验证码”服务器控件
  13. gtest测试代码编写思想
  14. Swift - 使用UIScrollView实现页面滚动切换
  15. 车载BlueTooth通话机制原理及开发
  16. python pandas处理excel 统计数据_python使用pandas处理excel数据
  17. cpu、内存、硬盘之间的关系
  18. 这位毁誉参半的政治名嘴,竟然彻底改变了计算机编程
  19. python使用opencv模块画简单的图形
  20. 2014计算机考研分数线,2014年全国统计算机考研各个大学录取分数线汇总.doc

热门文章

  1. 明尼苏达大学 计算机学院 教授,美国明尼苏达大学David Du教授学术报告
  2. C# 如何合并和拆分PDF文件
  3. win7一点计算机就卡死,win7系统电脑经常卡住假死页面关不掉的解决方法
  4. java swing界面设计_java swing界面设计
  5. 紫外光谱分析的基本原理是什么
  6. 世界读书日 | 技术人不要错过的好书(IT前沿技术)
  7. 淘宝/京东/苏宁/拼多多/唯品会 返利消息批量转链思路
  8. python中逗号在print的作用_Python中逗号的三种作用
  9. java的jar是什么文件_jar是什么意思,jar文件怎么打开?
  10. 复杂网络中小世界网络的MATLAB实现