PHP面向对象详细解析

在这里插入图片描述
前言
  学习PHP的小朋友们都知道,PHP在中小型企业的应用是非常广泛包括建站、小程序、CRM与OA等,那么作为基础中的基础,PHP面向对象你又掌握了多少呢?在这将就这个问题做一个详细的讲解。

正文
一、定义类 使用关键字class定义
二、实例化对象 使用关键字new实例化对象
三、类成员的添加和访问
  (1)类成员:属性、方法、常量
  (2)添加成员需要使用修饰符 public、protected、private
  (3)修饰符的作用范围
  public 类内类外子类
  protected 类内子类
  private 类内
  (4)添加方法:如果方法前不带修饰符,默认带public;
  (5)添加常量:const 常量名;
  访问常量:类名::常量名;
  ::范围解析操作符
四、类内部对象 t h i s 和 内 存 原 理     this和内存原理    this  this是一个对象,指向实例化对象。当我们new实例化的时候,系统会给这个对象分配一个内存空间,内存空间分为栈内存和堆内存,将变量存在栈里,代码块存在堆里,然后堆的内存地址指向栈里的变量,如果再给栈中的变量赋值引用数据类型,内存地址就会被改变。

五、如果 a 和 a和 ap指向同一个内存地址,它们是同一个对象,则改变一个则两个都会变
  需要用克隆解决这个问题 关键字clone;通过clone来复制一个一模一样的对象,这样它们就不是同一个对象了;
六、构造函数和析构函数
  (1)构造函数:我们在声明类的时候就存在这个函数,用new实例化时,函数自动调用。
   public function __construct(){};
  (2)析构函数:用于释放new实例化的内存空间,如果不销毁,会增加系统性能负荷;new实例化时,系统会自动调用;销毁原则:先人后出。

七、静态成员
  静态成员的添加:在成员属性或方法前加关键字 static;
  静态成员的访问: 内部使用:self:: 变 量 ; 或 类 名 : : 变量;或 类名:: ::变量;
  外部使用: 类名::$变量;
八、面向对象的三大特征
  (1)封装:对外只提供可操作的方法,不会告诉你内部结构;
  (2)继承 子类可以继承父类的属性和方法,但是是有限继承,public、protected、private三个修饰的属性都可以继承,public、protected两个
  修饰的方法可以继承,父类的常量可以继承;
  (3)多态:php没有多态。
  重载:当子类跟父类有个相同的方法时,子类的方法会覆盖父类的方法。

九、关键字:parent
  在继承中的子类有parent,可以访问父类的常量、方法、父类的静态属性,属性成员不能访问;
  访问方式: parent::$静态属性、fn()、常量。
十、final 不可重载的
  (1)写在类前面 不许类被继承;
  (2)写在方法和属性前 子类不能重载父类的方法。
十一、抽象类 abstract
  (1)抽象类不能被实例化;
  (2)如果一个类里面有一个方法被声明为抽象类,这个类就得申明抽象类;
  (3)只要这个方法被声明为抽象方法了,就不能写函数体,将函数后面的{}去掉,函数体由子类实现;
  (4)在继承一个抽象类的时候,子类必须定义父类。
结尾
  通过本文的讲解各位对于PHP面向对象是不是有了一个基本的了解,想要熟练掌握还需要你们平时多下苦工与多多的联系。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值