PHP 继承特点|学习笔记

简介: 快速学习 PHP 继承特点,PHP 的面向对象并不一样,它的技巧也有区别。接下来学习 PHP 的继承特点,其实主要是为了避免在使用过程中出现一些理所应当的问题,而实际上要基于 PHP 实际上的特点进行开发。

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

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


PHP 继承特点


主要内容:

一、php 继承特点

二、示例


一、php 继承特点

PHP 是从面向过程到面向对象转变的一种编程语言,所以与纯面向对象或天生为纯面向对象设计的语言完全不同。

1.PHP 只能单继承,只有一个父类。

像有些语言,多继承,例如继承多个比如说孩子可以继承爸爸,也可以继承妈妈,PHP 不可以

2.PHP 继承中,只有私有方法不能继承

其他的都可以继承,就是说私有途径不能用

3.PHP 允许继承父类中的构造方法和析构方法

有的语言不允许,但 PHP 是可以继承构造方法的。


二、示例

看具体的例子,这个地方就不写具体的代码了,理论性的东西通过案例就能看到。

1.只能单继承就是子类只有一个父类

有 man 类,有 woman 类,ladyboy 只能继承 man 类或者 woman 类。所以下列代码是错误的。

代码如下:

class Man{} class woman{}

class Ladyboy extends Man,woman{}# PHP 中错误,不允许继承多个父类

2.PHP 若继承多个类,可以使用链式继承

这里面的设计不是很合理,下列代码实现了 ladyboy 既继承了 man 类,也继承了 woman 类,包含了 man 类和 woman 类中所有的成员,但是这张继承用在这显然不合适,因为这三类属于同类,属于同级别,同级别无法继承,一个来自于父类。

代码如下:

c1ass Man{}

class woman extends Man{}

class Ladyboy extends woman{}#Ladyboy

包含了 Man 和 woman 类中所有可继承的成员

上述特点并没有完全举例子,因为有些之前已经碰到过。

最后做个小结,其实PHP的继承和传统的面向对象继承有着一些小区别,因为 PHP 是范类的,它并不是面向对象继承的风格,所以在开发的时候必须使用 PHP 的规则,不要使用纯面向对象和面向对象思想理论的内容,要结合实际。

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