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入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
随机推荐
- SARS病毒
每一道题目皆是一处美丽的风景: 何为科技的力量和程序的思维哦,在这暑假的编程之路上,我要好好地体验一番来嘞! 数学规律是:f(n)=2^(n-1)+4^(n-1). //递推分析可得!具体过程 ...
- STA之RC Corner再论
Q:RC-Corner跟PVT怎么组合? A:通常的组合: Q:通常说的ttcorner指的是啥? A:@孟时光 ttcorner是指管子在tt+RCtyp吧. Typesof corners W ...
- Docker on startup: “No activity detected on VM, aborting”
windows下安装的docker,切换到linux,一直处于重启中,最后报No activity detected on VM, aborting错误 上网百度一下这个错误,基本上没人遇到过,最后在 ...
- multiprocessing 多进程实现 生产者与消费者模型JoinableQueue
from multiprocessing import JoinableQueue import time import random import asyncio import logging fr ...
- CentOS7 卸载Firefox
先进入管理员模式 执行: yum remove firefox 然后用whereis 查看,却发现还是有: [root@localhost ~]# whereis firefox firefox: / ...
- tarsgo初探
参考:https://mp.weixin.qq.com/s/aO8ybUiu5htqcoGAwxwc5Q?utm_source=tuicool&utm_medium=referral 1.Go ...
- MSYS2与mingw32和mingw64的安装
由于编译OpenBLAS接触到MSYS2. 下载MSYS:https://mirror.tuna.tsinghua.edu.cn/help/msys2/ 安装,并按照下面的配置,然后可以安装mingw ...
- promise封装ajax
promise的含义(本身不是异步,是封装异步操作的容器,统一异步的标准) promise对象的特点:对象的状态不受外界影响:一旦状态改变,就不会再变,任何时候都可以得到这个结果. function ...
- 接入HikariCP遇到问题
老Tomcat项目在接入HikariCP时遇到报错: Caused by: java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isVal ...
- Codeforces Round #604 (Div. 2)D(构造)
构造,枚举起点,如果一个序列成立,那么将它reverse依然成立,所以两个方向(从小到大或从大到小)没有区别,选定一个方向进行探测,直到探测不到以后回头,只要所给数据能成立,那么能探测进去就能探测出来 ...