PHP 继承总结|学习笔记

简介: 快速学习 PHP 继承总结

开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第二阶段:PHP 继承总结】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/712/detail/12699


PHP 继承总结

 

内容介绍:

一、继承机制

二、继承的修改

三、PHP 的继承特点

四、self 关键字

五、高级限定


一、继承机制

继承是面向对象思想中实现代码复用最重要的一种机制

在使用过程中发现,父类有些内容作为子类就不需要去定义,可以直接使用,这就是一种典型的代码复用。

1、相关类进行继承相关性的类符合继承要求,父类包含子类。

2、共性内容形成父类(再共性形成更高级父类)

不同的子类实现时有共性的东西,将其抽离出来形成父类。作为初学者,因为受制于业务的认知,不知道业务应该如何分层,哪些是可以从上层到下层的。但是可以先做子类,多做几个子类,慢慢的习惯这个过程,做的多了之后,发现里面有共性的内容,共同的方法,可以将其抽离出来形成父类,其他子类继承父类,这是养成或培养继承思想很好的方法。正确的项目开发先有上层后又下层。

3、继承的存在会导致效率的降低:但是基于当前计算机的运算能力,这些效率降低将不足为道当前计算机的运算,存储,网络传输等这些硬件都在不断提升,效率的降低作为用户而言是感受不到的,还是感受到系统在不断加快,运行效率是很高的,因为用户感觉不到太多的延迟。


二、继承的修改

继承允许共用的前提下也允许子类根据自己的需求进行相应修改

1、重写可以实现子类业务的扩展

子类有新的业务或业务由升级,可以重写父类的要求,如果项目有升级,不需要修改父类业务,只用增加子类继承父类,最后调用时调用的就是新写的子类,剩下的其他的代码不需要修改,这就是面向对象的核心特征:方便维护。后期不需要修改任何源码,只需要增加内容即可,所以运维成本很低。

2、 Parent 关键字允许子类在重写基础上继续保留父类提供的服务

3、 允许子类扩展业务。

比如:男人女人类写完成,也完成了实现,去做一件事情,但是出现了一个新的物种,具有人类的特性,但是又有独特的业务或功能,新建一个类去继承人类,此时在这个里面用原来的内容,发现新的业务也不需要去修改原来的类别,只需要在自己的类里面增加新的知识扩展,新的方法。

一方面在原来业务上面的加深,这是重写,还有一种是允许自己业务的扩展,方便业务的伸缩。


三、PHP 的继承特点

PHP 有自己独特的继承特点

1、单继承一个类只能有一个父类,不允许继承多个父类。

2、链式继承子类继承父类,而父类本身又继承了另一个父类。子类最底层的类就拥有了上层所有类的所有特性,实现了多类继承。


四、self 关键字

继承过程中 self 关键字是静态绑定当前类名,代表的就是当前类,如果让其变成动态类,变成来访者所属的类,就可以使用 static static 可以延迟绑定(动态绑定访问类名)


五、高级类限定

1、最终类:限制类被继承,从而保护结构( final 修饰方法保护方法不被重写)这个类被继承但是不能被重写。

2、抽象类:规范类结构,从而保证开发一致性( abstract 修饰方法保障子类必须实现相应方法)上面定义的内容下面一定会实现,所以其他人去应用这个工具的时候,就可以轻而易举地调用,不会因为子类应用了别的方法去实现,需要找这个子类的名字是什么,因为已经做好了规范。应用抽象类去规范,理论上还需要配合使用 abstract 修饰方法,这才是一种更高级的规定。因为类只是规定这个类被继承,继承了之后什么都没有,没有什么要做的,如果定义了一些抽象方法,子类必须去实现,实现后才真正规范了这些名字,这些名字做了这些事之后,就可以调用这些类里面的方法去实现业务。

相关文章
|
12月前
|
存储 Java 数据库连接
php学习笔记-代码基本语法-day01
本文是关于PHP编程语言的基础语法学习笔记,内容包括PHP的介绍、注释风格、数据类型、命名规范、常量和变量的使用,以及变量和常量相关的常用函数。文中详细解释了PHP的基本语法元素和一些易混淆的概念,如传值赋值与传址赋值、可变变量,以及如何检查变量是否已定义或为空。
php学习笔记-代码基本语法-day01
|
12月前
|
JavaScript 前端开发 安全
php学习笔记-普通表单参数提交获取及页面的重定向和一个登录小demo-day05
本文介绍了PHP中普通表单参数的提交获取、页面重定向的方法,并通过一个登录示例演示了表单参数的封装和页面跳转处理。
|
12月前
|
存储 缓存 数据处理
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
本文介绍了PHP会话控制及Web常用的预定义变量,包括`$_REQUEST`、`$_SERVER`、`$_COOKIE`和`$_SESSION`的用法和示例。涵盖了cookie的创建、使用、删除以及session的工作原理和使用,并通过图书上传的例子演示了session在实际应用中的使用。
php学习笔记-php会话控制,cookie,session的使用,cookie自动登录和session 图书上传信息添加和修改例子-day07
|
12月前
|
Java PHP 数据安全/隐私保护
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
|
12月前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
12月前
|
前端开发 PHP
php学习笔记-php文件表单上传-day06
本文介绍了PHP文件上传处理流程、预定义变量`$_FILES`的使用、文件上传状态代码以及文件上传实现函数。同时,通过一个文件上传的小例子,演示了文件上传表单的创建、文件上传表单处理的PHP页面编写以及运行测试输出。
php学习笔记-php文件表单上传-day06
|
12月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
12月前
|
JavaScript Java PHP
php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
本文是第二天的PHP学习笔记,涵盖了PHP中运算符的使用、类型转换方式,以及打印输出语句的特点,展示了其相较于其他编程语言的一些特殊之处。
php学习笔记-php运算符,类型转换,打印输出语句相较于其他语言的特殊部分-day02
|
12月前
|
JavaScript 程序员 PHP
php学习笔记-php自定义函数-day05
本文介绍了PHP自定义函数的创建、调用、参数赋值以及作用域和生命周期,还探讨了`global`和`static`关键字的使用,以及`return`、`exit`和`die`的不同用法。
|
12月前
|
XML SQL PHP
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。