PHP面向对象的相关概念
一、面向对象的概念
1、面向对象实现了软件工程的三个目标:重用性、灵活性和扩展性
2、使其编程的代码更简洁,更易于维护,并且具有更强的可重用性
3、面向对象的特点:
封装:隐藏对象的属性和实现细节
继承:从一个基类得到一个或多个类的机制
多态:根据使用类的上下文来重新定义或改变类的性质或行为
二、类和对象的关系
1、类是用于生成对象的代码模板
2、php中使用关键字class和一个任意的类名来声明一个类,首字母大写
3、对象是类的“实例”,类是对象的抽象
三、类中的属性
1、指在类中声明的变量,也被称为成员变量,用来存放对象之间互不相同的数据
2、属性的使用:通常使用“->”符号连接对象和属性名来访问属性变量
3、在类方法内部通过“$this->”来访问同一对象的属性
4、指向对象的变量是一个引用变量,在这个变量里面存储的是所指向对象的内存地址
四、类中的方法
1、属性可以让对象存储数据,类中的方法则可以让对象执行任务
2、方法的使用:使用“->”符号连接对象和方法名来调用方法,后面要带圆括号
3、如果参数数量超过方法定义参数的数量,php会忽略多余的参数,不会报错
4、允许向一个方法内部传递另外一个对象的引用
五、构造方法
1、构造方法是对象被创建时自动调用的方法,用来确保必要的属性被设置
2、使用__construct()来定义构造函数
六、析构函数与php的垃圾回收机制
1、析构方法是当某个对象成为垃圾或者当对象被显式销毁时执行的方法。
2、没有任何变量引用这个对象时,该对象就成为垃圾,php会自动将其在内存中销毁,垃圾处理机制
3、当一个php线程结束时,当前占用的所有内存空间都会被销毁,所有对象同样被销毁
4、使用__destruct()来定义析构函数,一般不要去定义析构函数
5、当对象没有引用时,对象同样被销毁
整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、tp6,laravel,yii2,redis,swoole、swoft、kafka、mysql优化、shell脚本、docker、微服务、nginx等多个知识点高级进阶干货点击链接加入swoole官方群免费领取:
群内都是1-7年的开发者,希望可以一起交流,探讨swoole这块的技术 或者有其他php问题 也可以问,获取swoole或者php进阶相关资料和面试题私聊管理即可