面向对象与面向过程 $this的注意事项和魔术方法set和get
一.面向对象与面向过程的区别:
二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为。面向对象,将功能封装进对象,强调具备了功能的对象。面向对象更加强调运用人类在日常的思维逻辑中采用的思想方法与原则。
二.面向对象的三大特征:
①封装(Encapsulation)②继承(Inheritance)③多态(Polymorphism)
面向对象简称OOP( Object Oriented Programming)
面向过程(procedure oriented programming)
三.完成需求时:
1.先去找具有所需功能的对象来用。
2.如果该对象不存在,那么创建一个具有所需功能的对象。
3.这样简化开发并提高复用。
(class)类和对象(boject)是面向对象的核心概念。
类是对一类事物的描述。是抽象的,概念上的定义。
对象是实际存在的该类事物的每一个个体,因而也称为实例。
万事万物皆对象。
四.面向对象程序设计的重点是对类的设计。
基本的类的成员有:
属性(成员变量或Field)和 方法(Method)
例题
class Ren //定义一个类叫Ren
{
//通过变量和方法来描述人类的特征
public $name;// 成员变量
public $sex; function __construct($n) //构造方法
{
$this->sex=$n; // $this 关键字,在类里面代表该对象;
}
public function Speak(); //成员方法
{
echo "正在讲话";
}
}
$this 本质可以理解为就是这个对象的地址。
哪个对象使用到$this,就是哪个对象的地址。
$this 不能在类外部使用。
魔术方法
function __set($n,$v)//魔术方法set
{
//$n是成员变量名;$v是成员变量值
$this->$n=$v;
}
$r=new Ren();
$r->age=20;//这样写__set()方法可以找到。
//$r->__set("age",20);//这样写也可以。 function __get($n)//魔术方法get
{
return $this->$n;
}
echo $r->age;
面向对象与面向过程 $this的注意事项和魔术方法set和get的更多相关文章
- python的面向对象和面向过程
一.面向对象和面向过程的区别: a.面向过程: 1)根据业务逻辑从上到下写代码 2)开发思路是将数据和函数按照执行的逻辑顺序组织在一起 3)分开考虑数据与函数 定义性文字: 面向对象编程(Object ...
- PHP面向对象和面向过程
编程界不论是PHP.Python都有这么两种编程思想,oop面向对象.pop面向过程,这两种在功能上没有多大区别,但是在代码编写上却有很大区别.今天就记录一下面向对象和面向过程的优点.缺点.定义.实现 ...
- Day5-1 面向对象和面向过程
摘要: 类的定义 类的增删改查 对象的增删改查 对象的查找和绑定 面向对象和面向过程的区别: 1.面向过程就像是工厂的流水线,按部就班的有序的工作. 优点:把复杂的问题简单化 缺点:可扩展性差.一个步 ...
- python中的面向对象和面向过程
一.面向对象和面向过程 一.什么是面向过程 核心是过程二字:面向过程是一种流水线的工作流程,是先做什么在做什么 二.什么是面向对象 核心 是对象二字:是一种编程思想,上帝思维,一切皆对象,编程中负责调 ...
- <一>面向对象分析之面向对象和面向过程
面向对象 ---->注重的是拆分,组装. ---->封装,继承,多态,复用(只是现象) ---->面向对象变成的目标从来就不是复用.相反,对 ...
- JS面向对象与面向过程
前言 面向对象编程: 就是将你的需求抽象成一个对象,然后针对这个对象分析其特征(属性)与动作(方法)--这个对象就称之为类 面向过程编程: 特点:封装,就是将你需要的功能放在一个对象里面 ------ ...
- python3全栈开发-面向对象、面向过程
一. 什么是面向对象的程序设计及为什么要有它 1.面向过程 面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么......面向过程的设计就好比精心设计好一条流水线,是一种 ...
- python中面向对象VS面向过程
面向过程编程:首先分析出解决问题所需要的步骤(即"第一步做什么,第二步做什么,第三步做什么"),然后用函数实现各个步骤,再依次调用. 面向对象编程:会将程序看作是一组对象的集合,用 ...
- 浅谈PHP面向对象编程(六、自动加载及魔术方法)
6.0 自动加载及魔术方法 6.1 自动加载 在PHP开发过程中,如果希望从外部引入一个class.通常会使用incluae和requre方法把定义这个class的文件包含进来.但是,在大型的开发项 ...
随机推荐
- Windows Server 2008 R2遗忘管理员密码后的解决方案
在日常的工作中,对于一个网络管理员来讲最悲哀的事情莫过于在没有备用管理员账户和密码恢复盘的情况下遗忘了本地管理员账户密码. 在早期的系统中,遇到这种事情可以使用目前国内的很多Windows PE光盘来 ...
- rdd.toDebugString
rdd.toDebugString 是个好东西,可以输出你的RDD的组成
- 洗衣店专用手持智能POS PDA手持设备 上门收衣 现场刷卡 打印票据 开单系统
手持上门收衣设备通过wifi或者3G手机卡等进行联网,功能便捷强大,多功能一体同步使用,通过手持机上门收.取衣物,快速开单收衣消费.取货.新建会员.现场办理会员发卡.手持机读发会员卡和会员用卡消费等. ...
- C Golden gun的巧克力
Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: 无限制 描述 众所周知,13级有尊大神Golden gun,人称根叔,简称金枪!众立志进校队的 ...
- 前端JSON使用总结
JSON: JavaScript Object Notation(JavaScript 对象表示法)的简称. 1. 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaS ...
- NHibernate's inverse - what does it really mean?
NHibernate's concept of 'inverse' in relationships is probably the most often discussed and misunder ...
- 连接mysql遇到的问题
1. 首先使用一个用户名不行时,可以新建一个用户名点击用户,输入名和密码,此时一定要记住密码,别忘了.不过也可以点击编辑用户改.此时连接时发现还是连接不上.出现错误信息为: Access denied ...
- SQL Server 收缩数据库
//删除大量数据 /*** * * BEGIN TRANSACTION; * SELECT * INTO #keep FROM Original WHERE CreateDate > '2011 ...
- Java栈与堆一篇好文
http://blog.csdn.net/zhangao0086/article/details/6347342
- 浅谈RAID写惩罚(Write Penalty)与IOPS计算
介绍 通常在讨论不同RAID保护类型的性能的时候,结论都会是RAID-1提供比较好的读写性能,RAID-5读性能不错,但是写入性能就不如RAID-1,RAID-6保护级别更高,但写性能相对更加差,RA ...