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入门笔记] 面向对象编程基础(一):类和对象
什么是面向对象编程? 我们先来看看几个概念: 面向过程程序设计 面向过程,是根据事情发展的步骤,按进行的顺序过程划分,面向过程其实是最为实际的一种思考方式,可以说面向过程是一种基础的方法,它考虑的是实 ...
随机推荐
- Bootstrap入门(2)表格
Bootstrap入门(四)表格 <table>标签 首先,引入bootstrap的css文件,然后表格内容放在一个class为table的<table>标签中(class=& ...
- codeforces 597div2 F. Daniel and Spring Cleaning(数位dp+二维容斥)
题目链接:https://codeforces.com/contest/1245/problem/F 题意:给定一个区间(L,R),a.b两个数都是属于区间内的数,求满足 a + b = a ^ b ...
- ThinkPHP中的时间自动填充 无法获取时间
protected $_auto = array( array('addTime','time','1','function'), ); addTime在数据库里的的类型必须为int ...
- Redis05——Redis五大数据类型 String
String String是Redis最基本的数据类型(较常用),一个key对应一个value string类型是二进制安全的,Redis的string可以包含任何数据 一个Redis中字符串valu ...
- HPS—虚拟地址映射
HPS 如何对FPGA外设进行操作?hardware:在Qsys中将外设连接到AXI bridge上software:映射外设物理地址到到应用程序可以操作的虚拟地址,应用程序通过得到的虚拟地址入口控制 ...
- 吴裕雄 python 机器学习——支持向量机SVM非线性分类SVC模型
import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model,svm fr ...
- svn还原与本地版本回退
今天遇到了一个情况,由于没及时更新,对整个项目进行了Ctrl+shift+O,提交代码时冲突:然后就先还原项目,导致之前没有冲突的代码也回退了.然后就在eclipse中获取本地的版本记录,并回退 具体 ...
- 项目出现红色感叹号, pom.xml并出错
问题描述: eclipse出现红色感叹号,pom.xml 文件也报错 但没有提示具体是那里出错了. 打开 Java Build Path 找到 Librarices 你在看到 Maven Dep ...
- Go_defer
package main import "fmt" func main() { //外围函数 /* defer的词义:"延迟","推迟" 在 ...
- Pascal 错误代码及含义
DOS 错误代码:1无效DoS功能号 2文件末找到 3路径未找到 4打开文件过多 5禁止文件存取 6无效文件句柄 12无效文件存取代码 15无效驱动器号 16不能删除当前日录 17不能跨驱动器改文件名 ...