PHP 笔记——面向对象编程知识点
类是属性和方法的集合,是面向对象编程方式的核心和基础,通过类可以将零散的用于实现某项功能的代码进行有效管理。
类是由class关键字、类名和成员组成的,类名不区分大小写。
在类中定义常量使用关键字 const。 常量的输出不需要实例化对象,直接由类名+常量名调用即可。
- 类名::常量名;
在类中可使用static关键字声明静态属性和静态方法。
对象创建
- $变量名=new 类名称([参数]);
访问类中的成员
- 使用特殊的运算符号“->”访问类中的成员。
“$this” 操作符
- 使用$this变量可以引用该对象的其他方法和属性,并使用“->”作为连接符。
- 注:使用$this变量不可以访问静态成员。
:: 操作符
- 操作符“::”可以在没有声明任何实例的情况下访问类中的成员。
- 关键字::变量名/常量名/方法名
- parent关键字:可以调用父类中的成员变量、成员方法和常量。
- self关键字:可以调用当前类中的静态成员和常量。
- 在类内部,使用“self::静态成员名(常量)”格式访问。
- 类名:可以调用本类中的变量、常量和方法。
- 在类外部,使用“类名::静态成员名(常量)”格式来访问。
构造方法
- 在创建对象的同时,完成初始化功能
- 若类中没有显式声明,PHP会自动生成一个无参且无任何操作的默认构造方法
- 当在类中显式声明了构造方法时,默认构造方法将不存在
function __construct([mixed args [,…]]){
//方法体
}
- 继承关键字extends
- 子类调用父类的成员方法
- 通过 parent:: 关键字可以在子类中调用父类中的成员方法。
- 覆盖父类方法(重载)
- 覆盖父类方法就是在子类中创建与父类中相同的方法,包括方法名称、参数和返回值类型。
- PHP不允许多重继承,即一个子类只能有一个父类。接口提供了另一种选择,允许一个类实现(implements)多个接口。
- instanceof操作符可以检测当前对象是属于哪个类。
- 魔术方法
- __toString()的作用是:当使用echo或print输出对象时,将对象转化为字符串。
- __set()方法:在程序运行过程中为私有的成员属性设置值,它不需要任何返回值。
- __get()方法:在程序运行过程中,在对象的外部获取私有成员属性的值。
PHP 笔记——面向对象编程知识点的更多相关文章
- [Java入门笔记] 面向对象编程基础(二):方法详解
什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...
- java面向对象编程知识点总结
一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...
- [Java入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
- python笔记 面向对象编程从入门到高级
目录: 一.概念 二.方法 2.1组合 2.2继承 2.3多态 2.4封装 2.5归一化设计 三.面向对象高级 3.1 反射(自省) 3.2 内置方法__getatter__, __ ...
- JavaScript高程第三版笔记-面向对象编程
之前有篇博客曾提到过一点js的面向对象编程:js面向对象编程. 这里就结合js高程详细剖析一下javascript的面向对象编程. 前序: 1⃣️Object.defineProperty() var ...
- Python之路第一课Day7--随堂笔记(面向对象编程进阶...未完待续 )
本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 一.静态方法 通过@s ...
- PHP从零开始-笔记-面向对象编程的概念
面向对象变成的概念 需要一一种不同的方式来考虑如何构造应用程序.通过对象可以在对应用程序所处理的显示任务.过程和思想进行编码是,实施更贴切的建模.OOP方法并不是将应用程序考虑成一个将大量数据从一个函 ...
- Python自学笔记-面向对象编程(Mr seven)
类的成员可以分为三大类:字段.方法和属性. 一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 二.方法 方法 ...
- Python笔记-面向对象编程
1.类和实例 面向-对象的三大特点:数据封装.继承和多态 在Python中,所有数据类型都可以视为对象,当然也可以自定义对象.自定义的对象数据类型就是面向对象中的类(Class)的概念. 假设我们要处 ...
随机推荐
- Linux服务-nginx+nfs实现共享存储
任务目标:一台服务器进行更改,其他两台服务器访问均同步 现在的情况是: web1.html文件访问的结果是web1 现在我在Web1这台机器上更改web1.html,内容为change in web1 ...
- 关于禁用"请停用以开发者模式运行的扩展程序"提示
有兴趣研究谷歌浏览器扩展开发,但每次开启高版本chrome都会有烦人的提示 因为我用的360急速,目前还有提示,但使用原生chrome连插件都给删了,无语
- UNIX网络编程 第8章 基本UDP套接字编程
UDP是无连接的,不需要accept,TCP通过accept API来接受连接,并且将连接客户端的信息写入到accept将返回的新socket中,该新socket中有服务端和客户端的IP地址和端口,因 ...
- Linux下C程序的反汇编【转】
转自:http://blog.csdn.net/u011192270/article/details/50224267 前言:本文主要介绍几种反汇编的方法. gcc gcc的完整编译过程大致为:预处理 ...
- Codeforces Round #504 E. Down or Right
Codeforces Round #504 E. Down or Right 题目描述:交互题. 有一个\(n \times n\)的方阵,有一些格子是障碍,从\((1, 1)\)出发,只能向右向下走 ...
- 简单ORACLE分区表、分区索引
前一段听说CSDN.COM里面很多好东西,同事建议看看合适自己也可以写一写,呵呵,今天第一次开通博客,随便写点东西,就以第一印象分区表简单写第一个吧. ORACLE对于分区表方式其实就是将表分段存储, ...
- Java与redis交互、Jedis连接池JedisPool
Java与redis交互比较常用的是Jedis. 先导入jar包: commons-pool2-2.3.jar jedis-2.7.0.jar 基本使用: public class RedisTest ...
- 2015309南皓芯《Java程序设计》实验一(Java开发环境的熟悉)实验报告
一.实验内容及步骤 (一)使用JDK编译.运行简单的java程序 命令行下的程序开发 步骤一(新建文件夹):打开windows下的cmd → 输入cd Code命令进入Code目录 → 输入md 20 ...
- Newtonsoft.Json 序列化器的重写
public class TestConverter : JsonConverter { public override void WriteJson(JsonWriter writer, objec ...
- 安装部署Apache Hadoop (本地模式和伪分布式)
本节内容: Hadoop版本 安装部署Hadoop 一.Hadoop版本 1. Hadoop版本种类 目前Hadoop发行版非常多,有华为发行版.Intel发行版.Cloudera发行版(CDH)等, ...