类是属性和方法的集合,是面向对象编程方式的核心和基础,通过类可以将零散的用于实现某项功能的代码进行有效管理。

  • 类是由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 笔记——面向对象编程知识点的更多相关文章

  1. [Java入门笔记] 面向对象编程基础(二):方法详解

    什么是方法? 简介 在上一篇的blog中,我们知道了方法是类中的一个组成部分,是类或对象的行为特征的抽象. 无论是从语法和功能上来看,方法都有点类似与函数.但是,方法与传统的函数还是有着不同之处: 在 ...

  2. java面向对象编程知识点总结

    一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类 ...

  3. [Java入门笔记] 面向对象编程基础(一):类和对象

    什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...

  4. python笔记 面向对象编程从入门到高级

    目录: 一.概念 二.方法    2.1组合 2.2继承 2.3多态 2.4封装 2.5归一化设计 三.面向对象高级   3.1   反射(自省) 3.2   内置方法__getatter__, __ ...

  5. JavaScript高程第三版笔记-面向对象编程

    之前有篇博客曾提到过一点js的面向对象编程:js面向对象编程. 这里就结合js高程详细剖析一下javascript的面向对象编程. 前序: 1⃣️Object.defineProperty() var ...

  6. Python之路第一课Day7--随堂笔记(面向对象编程进阶...未完待续 )

    本节内容: 面向对象高级语法部分 静态方法.类方法.属性方法 类的特殊方法 反射 异常处理 Socket开发基础 作业:开发一个支持多用户在线的FTP程序 面向对象高级语法部分 一.静态方法 通过@s ...

  7. PHP从零开始-笔记-面向对象编程的概念

    面向对象变成的概念 需要一一种不同的方式来考虑如何构造应用程序.通过对象可以在对应用程序所处理的显示任务.过程和思想进行编码是,实施更贴切的建模.OOP方法并不是将应用程序考虑成一个将大量数据从一个函 ...

  8. Python自学笔记-面向对象编程(Mr seven)

    类的成员可以分为三大类:字段.方法和属性. 一.字段 字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同, 普通字段属于对象 静态字段属于类 二.方法 方法 ...

  9. Python笔记-面向对象编程

    1.类和实例 面向-对象的三大特点:数据封装.继承和多态 在Python中,所有数据类型都可以视为对象,当然也可以自定义对象.自定义的对象数据类型就是面向对象中的类(Class)的概念. 假设我们要处 ...

随机推荐

  1. json字符串与json对象转换

    从网上找的几种常用的转换方法,测试结果如下: 1.json字符串——>json对象 /* test 1 */ var str = '{"a":1,"b": ...

  2. D. Easy Problem(简单DP)

    题目链接:http://codeforces.com/contest/1096/problem/D 题目大意:给你一个字符串,然后再给你去掉每个字符串的每个字符的花费,然后问你使得字符中不再存在har ...

  3. CSS3 transition过渡

    transition 属性是一个简写属性,用于设置四个过渡属性: transition: property duration timing-function delay; transition-pro ...

  4. Css中实现一个盒子固定宽度,另一个盒子宽度自适应的方法

    Css中实现一个盒子固定宽度,另一个盒子宽度自适应的方法 网上方法很多,个人认为以下两种思想是最为常用的. 一种是让第一个盒子脱离文档流,第二个盒子离左边有一定距离. 第二种方法是使用flex布局,不 ...

  5. Kettle进行数据迁移(ETL)

    由于开发新的系统,需要将之前一个老的C/S应用的数据按照新的数据设计导入到新库中.此过程可能涉及到表结构不一致.大数据量(千万级,甚至上亿)等情况,包括异构数据的抽取.清洗等等工作.部分复杂的工作需要 ...

  6. openjudge-NOI 2.5-1700 八皇后问题

    题目链接:http://noi.openjudge.cn/ch0205/1700/ 题解: 经典深搜题目…… #include<cstdio> ][]; int num; void pri ...

  7. python基础学习之路No.3 控制流if,while,for

    在学习编程语言的过程中,有一个很重要的东西,它就是判断,也可以称为控制流. 一般有if.while.for三种 ⭐if语句 if语句可以有一个通俗的解释,如果.假如 如果条件1满足,则…… 如果条件2 ...

  8. java 多线程总结篇4——锁机制

    在开发Java多线程应用程序中,各个线程之间由于要共享资源,必须用到锁机制.Java提供了多种多线程锁机制的实现方式,常见的有synchronized.ReentrantLock.Semaphore. ...

  9. TStringList 与 泛型字典TDictionary 的 哈希功能效率PK

    结论: 做HashMap 映射 功能的时候 ,字典TDictionary 功能更强大,且效率更高,比如不仅仅可以存String,还可以存结构和类. TDictionary类是一个name,value容 ...

  10. TypeScript 2 : 获取当前日期及前后范围日期【Array】

    前言 今天有个接口字段需求,要写一个今天及前几天的日期传过去: 在网上找了下都木有什么比较好的方案:就自己写了一个. 因为技术栈就是NG2+TS2+WEBPACK,这里的代码需要一定的TS2及ES6的 ...