php对象、面向对象
对象
万物皆对象
一切可见之物都是对象
一切不可见之物也是(抽象的事物也是对象);
对象包含两部分
1对象的组成元素
对象的数据模型又称为对象的属性,又被称为对象的成员变量
2.对象的行为
是对象的行为模型,被称为对象的方法
每个对象都是独一无二的,
对象是一个特定事物,他的职能是完成特定功能
对象是可以重复使用的
面向对象
面向就是在编程的时候一直把对象放在心上
面向对象编程就是在编程的时候数据结构(数据组成方式)都通过对象的结构进行存储。 (属性和方法)
对象的描述有利于大型业务的理解
对象和对象之间通过方法的调用完成互动
面向对象的思路
1 识别对象
任何实体都可以被识别为一个对象
2.识别对象的属性
身高,体重,长相。等等
对象里面存储的数据别识别为属性
对于不同业务逻辑,关注的数据不同。里面存储的属性也就不同
3.识别对象的行为
对象自己属性数据的改变
对象和外部交互
例子
桌子(对象)
组成元素:长宽高,重量,颜色等等
行为:发呆。
原则:
对象内部都是高内聚
对象只负责一项特定的职能(可大可小)
所有对象相关的内容都封装到对象内部
对象对外是低耦合的
外部世界可以看到对象的一些属性(并非全部)
外部世界可以看到对象一些方法(并非全部)
类的概念
物以类聚,把具有相似特性的对象归类到一个类中
类定义了这些相似对象拥有的相同的属性和方法
类的对象称为类的一个实例,类的属性和方法统称为类成员
列子
人就是一个类的定义
OOP(object OrientedProgramming) 是一种计算机编程架构 三个目标:重用性,灵活性,扩展性
类和对象的关系
类的实例化结果就是对象
对一类对象的抽象就是类
类命名规则
驼峰命名法,首字母大写,如果有两个单词,第二个单词的首字母也要大写
类的定义以关键字 class 开始,后面跟着类的名字{}
类的实例化为对象时使用关键字new new 之后紧跟类的名称和一对括号
对象中的属性成员可以通过->符号来访问
对象中的方法可以通过->符号来访问
构造函数在对象被实例化的时候自动调用 __construct()
$this是php里面的伪变量,表示对象本身
每次用new实例化对象的时候,都会用类名后面的参数列表调用构造函数
析构函数在程序执行结束的时候自动调用
__destruct()
(被用于清理程序使用的资源)
php对象、面向对象的更多相关文章
- javascript总结22: javascript的对象--面向对象编程
1 对象:JavaScript 中的所有事物都是对象:字符串.数值.数组.函数. 对象与程序的关系: 程序 = 基于对象操作的算法 + 以对象为最小单位的数据结构 此外: 面向对象的本质就是让对象有多 ...
- ABAP对象-面向对象(转)
转自:https://www.jianshu.com/p/f847c8f71438 1 面向对象基础 不多赘述何为对象与类.简单回顾一下在面向对象特性. 封装 限定内部资源的可见性 多态 相同名称的方 ...
- 对象(面向对象、创建对象方式、Json)
一.面向对象 面向过程:凡事亲力亲为,每件事的具体过程都要知道,注重过程 面向对象:根据需求寻找对象,所有的事都用对象来做,注重结果 面向对象特性:封装.继承.多态(抽象性) js是一门基于对象的语言 ...
- egon说一切皆对象--------面向对象进阶紫禁之巅
一.检查isinstance(obj,cls)和issubclass(sub,super) class Foo(object): pass obj = Foo() isinstance(obj, Fo ...
- Day10 类与对象-面向对象编程(1)
面向对象编程(OOP) 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据. 抽象 三大特征: 封装 继承 多态 从认识论角度考虑是先有对象后有类.对象,是具体的事物.类,是抽象的, ...
- JavaScript基于对象(面向对象)<一>类和对象
javascript中一切皆对象,比如:Array,Date.....这些都是对象.javascript中没有class的定义,function既是定义函数,也可以是定义类.function Obj( ...
- JavaScript-创建日志调试对象(面向对象实例)
参考自http://www.2cto.com/kf/201312/261990.html IC.js文件 自己封装的js类库 /** * * @authors Your Name (you@examp ...
- php 类与对象 面向对象编程 简单例子
<?php class Foo { //类 名称为Foo public $aMemberVar = 'aMemberVar Member Variable'; //类变量 public $aFu ...
- 了解JavaScript 面向对象基础 & 原型与对象
面向对象语言中的对象 老是能听到什么基于对象, 面向对象. 什么是对象, 如果有面向对象基础的人可以无视了, 下面举个简单的例子给大家讲讲面向对象中, 对象的定义, 这个是比较通用的, 不过对于JS来 ...
- [Java入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
随机推荐
- 微信小程序 (组件的使用)
创建组件 在根目录创建components目录,然后创建列表组件 组件中内容 <view class="prolist"> //循环prolist列表 <view ...
- spring cloud config 连接GitHub访问 报错 Cannot clone or checkout repository
原因是建立仓库的时候将仓库私有化了,将仓库公有 或者 设置账号密码即可!
- ThinkPHP中的时间自动填充 无法获取时间
protected $_auto = array( array('addTime','time','1','function'), ); addTime在数据库里的的类型必须为int ...
- Ubuntu16.04安装TORCS
下载torch安装包: git clone https://github.com/torch/distro.git torch --recursive 安装依赖库: cd torch/ sudo ba ...
- Html学习笔记(二)
Html头部 HTML <link>元素 <link> 标签定义了文档与外部资源之间的关系. <link> 标签通常用于链接到样式表: <head> & ...
- Bugku-CTF之这是一个神奇的登陆框
Day32 这是一个神奇的登陆框 http://123.206.87.240:9001/sql/ flag格式flag{}
- 错误记录(一):VSCode
VS Code莫名其妙突然变卡. 后来重新安装,下载以前版本,设置防止循环,都不太管用. 最后想添加VS Code目录到windows扫描白名单,但因为系统之前是英文不太好看懂,所以又调回了中文. 这 ...
- 有源汇有上下界最大流 (ZQU1591)
题意:现在的网络有一个源点s和汇点t,求出一个流使得源点的总流出量等于汇点的总流入量,其他的点满足流量守恒,而且每条边的流量满足上界和下界限制. 思路:要满足每一个点的流量守恒,我们可以尝试像无源汇上 ...
- linux下修改mysql的编码格式
修改编码格式:https://blog.csdn.net/qq_30038111/article/details/79376137 改编码格式在配置文件中修改才有效,在命令行中修改没效 ...
- BZOJ - 1257 余数之和(数学)
题目链接:余数之和 题意:给定正整数$n$和$k$,计算$k\%1+k\%2+\dots+k\%n$的值 思路:因为$k\%i=k-\left \lfloor \frac{k}{i} \right \ ...