php中的oop思想,OOP思想指的是什么?
OOP思想指的是面向对象编程,面向对象强调对象的“抽象”、“封装”、“继承”、“多态”,相比面向过程该思想专注于通过对象的一些方法去解决问题,不同的功能可能由不同的对象来负责解决。
类和对象
类:类是一个抽象概念,是一类具有相同特征的事物的统称,比如大学生;
对象:对象是具体事物的实体,比如具体的学生张三。
面向对象的三大特征
1、封装
封装指一个类可以有一些私有属性和方法,可以将一个问题的解决方法封装起来,对外只提供一部分接口,通过调用接口可以解决问题但是外部并不知道具体解决方法是什么。
2、继承
一个类可以通过继承得到另一个类的非私有属性和方法,这样被继承的类就的属性和方法就可以被复用。
3、多态
同一个父类实例化出来的子对象,通过调用同一个方法,且可以得到不相同的结果,这就是多态。
七大设计原则
SOLID原则
单一职责原则:只能让一个类/接口/方法有且仅有一个职责;
开放关闭原则:对扩张开放,对修改封闭;
里氏替换原则:所有引用基类的地方必须能透明地使用其派生类的对象;
接口隔离原则:不能强迫用户去依赖那些他们不使用的接口,使用多个接口优于使用一个总接口;
依赖倒置原则:
A、高层模块不应该依赖于低层模块,二者都应该依赖于抽象
B、抽象不应该依赖于细节,细节应该依赖于抽象 C.针对接口编程,不要针对实现编程
迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用
组合复用原则:尽量使用组合/聚合,不要使用类继承推荐教程:《PHP》
php中的oop思想,OOP思想指的是什么?相关推荐
- 17、Java中的面向对象的编程思想
Java中的面向对象的编程思想 作者:韩茹 公司:程序咖(北京)科技有限公司 程序咖:IT职业技能评测平台 网址:https://www.chengxuka.com 任务 1. 面向对象 2. 面向过 ...
- 如何理解并学习javascript中的面向对象(OOP)
本文不适合javascript初学者看(javascript水平还停留在函数级别的朋友,看了会觉得很晕的).如果你想让你的javascript代码变得更加优美,性能更加卓越.或者,你想像jQuery的 ...
- Java中的四个核心技术思想
Java中的四个核心技术思想 对Java核心概念和思想的掌握有助于提升我们对整个Java平台的理解力.这里将介绍四个Java中的核心技术思想,包括Java虚拟机.类装载器的体系结构.class文件和A ...
- matlab啁啾信号,用matlab来理解短脉冲中啁啾和色散的思想。.doc
用matlab来理解短脉冲中啁啾和色散的思想. Matlab用于超短脉冲中啁啾与色散的理解 超短脉冲是谐振腔中增益与损耗达到平衡.色散与非线性达到平衡时所产生的.超快光学中两个重要的概念就是啁啾与色散 ...
- 穿越时空的思想—庄子思想
庄子思想在每个时代都有它得意义.作用和价值,而不仅仅是指它在我们这个时代的意义.庄子的思想,正如一切伟大先哲的思想一样,具有深刻的当代性,在每个时代都激起思考,引起共鸣,激发出思想的火花.其所以如此, ...
- 冒号课堂:知识之上是思想,思想之上是精神
http://www.cnblogs.com/xyz98/archive/2009/03/11/1408998.html 1.1开班发言--程序员的四层境界 授人以鱼不如授人以渔 ...
- node mysql limit_node中mysql连接池的connectionLimit指什么,它和mysql的最小连接数和最大连接数的关系是什么?...
问题1:node中mysql连接池的connectionLimit指什么,它和mysql的最小连接数和最大连接数的关系是什么 问题2:mysql max_connections是什么,max_used ...
- 实体安全主要指计算机及网络硬件设备,计算机安全中的实体安全主要是指什么?...
计算机安全中的实体安全主要是指:计算机物理硬件实体的安全.实体安全又叫物理安全,是保护计算机设施(含网络)以及其它媒体免遭地震.水灾.火灾.有害气体和其它环境事故(如电磁污染等)破坏的措施.过程. 本 ...
- 牛客题霸 [二叉树中是否存在节点和为指定值的路径] C++题解/答案
牛客题霸 [二叉树中是否存在节点和为指定值的路径] C++题解/答案 题目描述 给定一个二叉树和一个值\ sum sum,判断是否有从根节点到叶子节点的节点值之和等于\ sum sum 的路径, 例如 ...
- http的“无连接”指的是_http协议无状态中的 quot;状态quot; 到底指的是什么?...
引子: 最近在好好了解http,发现对介绍http的第一句话[http协议是无状态的,无连接的]就无法理解了:无状态的[状态]到底指的是什么?! 找了很多资料不仅没有发现有一针见血正面回答这个问题的, ...
最新文章
- Spark源码阅读02-Spark核心原理之容错及HA(高可用)
- 这样也可以,insert,,
- thingsboard官网单机并发量
- VTK:图像亮度用法实战
- 时光机穿梭---管理修改
- 【刘汝佳代码详解】例题6-4破损的键盘(Broken Keyboard,UVa 11988)
- 拆包--缓冲区查找包头及包尾偏移
- Python 配置文件之ConfigParser模块(实例、封装)
- c# 智能升级程序代码(1)
- mongodb对数组元素及内嵌文档进行增删改查操作(转)
- 详解loadrunner的think time
- 在Window上安装Mysql
- MySQL 中while loop repeat 的基本用法
- jvisualvm使用
- 双耳节拍 枕头_枕头2-9-0快用完了
- 苹果x专用计算机下,电脑卡iPhoneX在线软件
- pacemaker常用命令
- python阶乘的代码_python编码阶乘
- 方便你我他,百科全书:)
- dev c++怎么设置断点_斑马进度计划软件可以检查计划中是否存在逻辑断点和错误逻辑关系...