面向对象oop教程.docx

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象编程思想 编程思想:面向过程,面向对象 例子:学生报到系统 学生报到 学校登记 学生缴费 学校收费 学生选择班级 班级录入信息 分析:实现这样业务逻辑。将系统拆分成每一个步骤进行操作。 将每一个功能,封装成函数。 逐一去调用函数即可。 分析: 报到系统是如何实现的??是将一个完整的业务逻辑,拆分一个一个的步骤,然后在满足学需求的时候,去逐一调函一个函数。逐一实现每一个过程。想这样的编程方式,面向过程的编程方式。动词罗列,动词的集合体。 发现: 程序的最终的目的,用于去模拟出现实中的业务逻辑。现实生活中的业务逻辑,所有的动作。都是由一个主体发出的。但是在使用面向过程的时候,没有主体的存在。使用程序就无法去完成模拟出现实中的业务逻辑。 导致: 如果在使用程序去完成模拟出现实生活中的业务逻辑。程序的世界,也需要一个主体的存在。并且所有的工作,都需要由这个主体去发出。将这样的编程思想称为面向对象(现实生活中的主体) 模拟现实世界和程序世界 面向过程:只存在着动作,没有一个主体的存在。无法完整的去模拟出现实的世界 面向对象:是完整的去模拟出现实世界中的业务逻辑。在显示世界中的一个主体,如果使用面向对象的方式来描述,将该实体(人,物,事)映射到编程世界中,作为编程世界中的一个主体(对象)。 问题:使用面向对象思路去完成学生报到的系统 分析现实的业务逻辑中,完成该动作,需要几个实体 三个实体,学生,学校,班级 需要在程序中去建造三个实体 为每一个实体去添加一些功能 学生:报到,缴费,选班 学校:登记,收费 班级:录入信息 在完成系统的,只需要在适当的时候,让一个实体去执行不同的功能。 面向对象的语法 基本概念 对象:在现实中看的见,摸的着的东西,映射到程序中都是对象。对象是数据和附加在数据上操作的集合体。 对象怎么来的??通过 实例化 类 得到的 类:对一些具有相同特征的事务的总称,抽象化的描述。本身不是一个具体的对象。是多个具体对象的描述。规定结构的。 昆虫是什么??是对具有相同特征虫子的描述(翅膀,触角,多条腿)。 实例化:将一个类变成一个具体的对象的过程。 设计图纸:规定房子的一些结构。 对象:根据设计图纸,建造出来的房子。 从图纸到房子的过程:称为实例化。 不参与建造过程,不参与实例化的过程。 基本语法 声明类 使用class关键字 Class 类名 { } 类中包含两个部分:成员属性和成员方法 成员属性 数据,使用变量保存数据, 需要使用修饰符来描述变量,public。公共的。 成员方法 操作,就是一个动作,一个功能。就是一个函数。 使用关键字function 方法名(){} 为方法添加修饰符,public 实例化 完成实例化的操作。 使用一个关键字 new 类名 注意: 在使用对象的时候,需要将对象保存在一个变量中,对象也是一个数据 类名是不区分大小的 每一个实例化,生成的都是一个不同的对象。 如何为每一个对象添加不同的属性?? 将每一个的姓名都叫了刘备 每一个学生是一个对象,每一个对象的名称都是不一样的。 使用对象操作符 –,访问成员(成员属性和成员方法) 对象-成员 访问对象 $对象1 – 成员 $对象2 - 成员 访问成员属性 得到一个对象$stu1,为该对象中name的属性(变量)赋值。需要找到当前对象的name属性。使用$stu-name ,直接赋值。 注意: 1、操作其中一个对象的时候,对其他的对象没有任何的影响 2、对象的在内存上的分配 访问成员方法 使用- 方法就是函数,调用一个函数 函数名(), 调用方法:方法名(); Baodao()方法在类或在对象身上。 先找到对象 $stu-baodao(); 该方法时属于每一个对象的 当前使用实例化的三个对象,访问成员方法的时候,执行的都是同一个操作 伪变量 每一个不同的对象,去访问baodao(),方法的时候,需要知道当前对象的名字。 直接使用了$name变量,出现了一个变量未定义的错误。 在方法(函数)中,变量的作用域。在当的局部变量中,没有一个$name的变量。 使用global修饰的变量,是将全局的变量的引入覆盖局部的同名变量。 调用函数,就可以取传递参数,哪一个对象方法了该方法,就将该对象传递这个方法里面 对象访问成员属性的方式,获取当前对象的name。 $this:这个,访问当前方法的这个对象。系统内置的。是一个局部的变量。该局部的变量有个特点。当某个对象去访问方法的时候,php会自动确定是哪个对象在方法,然后将该对象,赋值给$this的局部变量 哪一个对象访问的$this表示的就是这样对象。 构造方法 __construct 是php内置的方法,当对象在实例化的(在new的时候),会自动去调用,在该方法中完成初始化的操作。 在实例化对象的时候,

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档