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入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
随机推荐
- makecert生成证书
是要命令 makecert -r -pe -n "cn=musetowc" -$ commercial -a sha1 -b 01/01/2020 -e 01/01/2050 -c ...
- python开发基础01-字符串操作方法汇总
字符串 Python对字符串的处理内置了很多高效的函数,非常方便功能很强大. "hello world" 字符串七种常用功能: 连接和合并 + join 移除空白 strip 分 ...
- 直方图histeq
histeq的原理: [MN]=size(H); [counts,x]=imhist(H);%H是读取的图像,imhist是对图像直方图进行统计,其中count,是每个灰度值得个数,x代表灰度值.一般 ...
- 「题解」「CF468D」树中的配对
目录 题目大意 思路 源代码 本博客除代码之外,来自 skylee 大佬. 题目大意 一棵\(n(n\le10^5)\)个编号为\(1\sim n\)的点的带边权的树,求一个排列\(p_{1\sim ...
- Java - 集合 - Map
Map 1.Map实现类:HashMap.Hashtable.LinkedHashMap.TreeMap HashMap 新增元素/获取元素 1 void contextLoads() { 2 //声 ...
- vue入门基础知识点测试
vue入门基础知识点测试 1.文本(值绑定){{var}}----控制<div></div>的值显示当前时间,且1秒更新一次.(可查阅 setinterval 函数,时间Dat ...
- 题解【洛谷P2619】[国家集训队2]Tree I
题目描述 给你一个无向带权连通图,每条边是黑色或白色.让你求一棵最小权的恰好有\(need\)条白色边的生成树. 题目保证有解. 输入输出格式 输入格式 第一行\(V,E,need\)分别表示点数,边 ...
- Mysql实现级联操作(级联更新、级联删除)(转)
一.首先创建两张表stu,sc create table stu( sid int UNSIGNED primary key auto_increment, name varchar(20) not ...
- 【C语言】找出1000以内可以被3整除的数
分别用while,do-while,for语句实现 方法一:while #include<stdio.h> int main() { int m; m = ; ) { == ) print ...
- 每天进步一点点------H.264学习 (一)
分三个阶段学习1.第一个阶段: 学习H.264,首先要把最基本最必要的资料拿在手里.这些资料包括:标准文档+测试模型+经典文章,在本FTP中能找到.首先看 <H.264_MPEG-4 Part ...