php课程 12-40 抽象类的作用是什么
php课程 12-40 抽象类的作用是什么
一、总结
一句话总结:定标准的
1、继承的关键词有哪两个?
extends
parent
2、抽象类的实际意义是什么?
制造符合规范的产品
你必须实现了抽象类里面的抽象方法,类才能被创建,这就保证方法名是符合规范的。
例如抽象类抽象方法stop()表示停止,那么你用stop1()就不行,你就必须实现stop(),使用的人调用的时候也是这个,这个stop()就是事先声明的规范。
你实现了stop(),然后你可以写自己的stop1()。
3、接口的实质是什么(接口和抽象类的联系是什么)?
抽象类中的方法全是抽象方法之后,为了省略每个抽象方法前的abstract,所以就把这个抽象类定义成了接口
实例:班级自我介绍,都是中国的,介绍就不用加我是中国(abstract)的某某,并且这个班级(抽象类)就叫成了2班(接口)
二、抽象类
1、相关知识
抽象类:
#很难描述清楚
#含有抽象方法的类叫抽象类
abstract class Person{
abstract function show();
}
抽象方法:
#没有方法体的方法叫抽象方法
abstract function show();
方法体:
function show(){
//方法体
//代码段
}
接口:
#只含有抽象方法的类叫接口
interface Person{
function show();
}
2、代码
抽象类是对子类起到一定的约束作用
<?php
abstract class Usb{
function start(){
echo "<h3>usb start</h3>";
} function run(){
echo "<h3>usb run</h3>";
} abstract function stop();
} class Upan extends Usb{
function stop(){
echo "<h3>usb stop</h3>";
} function explode(){
echo "<h3>usb explode</h3>";
}
} $obj=new Upan();
$obj->start();
$obj->run();
$obj->stop();
$obj->explode(); ?>
php课程 12-40 抽象类的作用是什么的更多相关文章
- Linux课程---12、linux中内存指令(top命令的作用是什么)
Linux课程---12.linux中内存指令(top命令的作用是什么) 一.总结 一句话总结: top实时观察进程.内存和CPU情况 1.电脑出现反应慢情况,最先想到的是什么? 内存 2.linux ...
- js课程 1-2 js概念
js课程 1-2 js概念 一.总结 一句话总结:js标签元素也是js对象,有属性和方法,方法就是事件,属性就是标签属性,可以直接调用. 1.js中如何获取标签对象? getElement获取的是标 ...
- 石川es6课程---12、Promise
石川es6课程---12.Promise 一.总结 一句话总结: 用同步的方式来书写异步代码,让异步书写变的特别简单 用同步的方式来书写异步代码Promise 让异步操作写起来,像在写同步操作的流程, ...
- 《Java中的抽象类及抽象类的作用》
//抽象类示例: abstract class Shape1 { { System.out.println("执行Shape的初始化块..."); } private String ...
- mysql数据库优化课程---12、mysql嵌套和链接查询
mysql数据库优化课程---12.mysql嵌套和链接查询 一.总结 一句话总结:查询user表中存在的所有班级的信息? in distinct mysql> select * from cl ...
- laravel基础课程---12、lavarel的ajax操作2(lavarel的ajax使用总结)
laravel基础课程---12.lavarel的ajax操作2(lavarel的ajax使用总结) 一.总结 一句话总结: 比较简单:就是js请求ajax,然后控制器获取请求参数,返回数据即可 1. ...
- Java第十二次作业:继承与抽象类解决工人与学生的问题,抽象类实例。抽象类作用——为多态创造了可能。抽象类的作用总结
继承与抽象类解决工人与学生的问题 抽象类实例 package com.swift; public abstract class Person { private String name; privat ...
- 妙味css3课程---1-2、css3中新增的伪类和伪元素有哪些
妙味css3课程---1-2.css3中新增的伪类和伪元素有哪些 一.总结 一句话总结: 1.div:target{}是什么意思? 比如a标签的锚点链接到div,div:target{}就可以找到这个 ...
- bootstrap课程12 滚动监听如何实现(bootstrap方式和自定义方式)
bootstrap课程12 滚动监听如何实现(bootstrap方式和自定义方式) 一.总结 一句话总结:通过监听滚动的高,判断滚动的高是否大于元素距离顶端的距离 1.如何知道屏幕滚动的高? st=$ ...
随机推荐
- oracle基础入门(四)
一:其实oracle的语法跟sql servce 挺像的只有一些个别的差异而已 1):安装Oracle的数据库一般它的表中会自带了两站表: 是 emp(员工表) , dept(部门) 单表查询 sel ...
- Spring Boot学习总结(2)——Spring Boot整合Jsp
怎么使用jsp上面起了疑问,查阅了多方资料,找到过其他人的博客的描述,也找到了spring在github上的给出的例子,看完后稍微改动后成功 整合jsp,于是决定将整合过程记载下来. 无论使用的是那种 ...
- 洛谷 P1583 魔法照片
P1583 魔法照片 题目描述 一共有n(n≤20000)个人(以1--n编号)向佳佳要照片,而佳佳只能把照片给其中的k个人.佳佳按照与他们的关系好坏的程度给每个人赋予了一个初始权值W[i].然后将初 ...
- dotnet 命令的使用
dotnet --info PS E:\GitHub\KerryJiang\SuperSocket> dotnet --info.NET Command Line Tools (2.1.4) P ...
- mysql 中sql 语句查询今天、昨天、近7天、近30天、一个月内、上一月数据
·1.几个小时内的数据 DATE_SUB(NOW(), INTERVAL 5 HOUR) 1 ·2.今天 select * from 表名 where to_days(时间字段名) = to_days ...
- SQL char字段类型排序
我是做的ACCESS时候需要对字段的值进行排序,字段格式是char类型的,但是存的值是数字.现在需要对该字段进行排序. 通过查找,找到以下两种方法,记录下来. 1. 你可以转换成int型再排序 sel ...
- Junit4.x高级使用方法具体解释(一)
近期整理代码的时候,总习惯把一些经常使用的工具类和方法等都写在junit中,这样能够方便于在想用的时候直接copy,在用junit的时候学到了一些比較实用的东西.记录例如以下: 1.使用junit进行 ...
- PIM-DM协议内核触发机制及协议执行机制记录
PIM-DM和PIM-SM是组播路由ASM(随意信源组播)中的两种不同模式.相对PIM-SM的组播注冊机制.PIM-DM的扩散机制显得更加粗犷. 一.PIM-DM无需向内核注冊pimreg虚接口. 可 ...
- ESP8266学习笔记4:ESP8266的SmartConfig
今天花了将近一天的时间来研究ESP8266的SmartConfig功能,这个应该算是wifi云产品的标配.这篇文章先把SmartConfig操作一遍,我还写了还有一篇文章梳理了物理层的详细协议,点击这 ...
- Intersection between 2d conic in OpenCASCADE
Intersection between 2d conic in OpenCASCADE eryar@163.com Abstract. OpenCASCADE provides the algori ...