问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

简单面向对象编程的方法或思路

发布网友 发布时间:2022-04-23 23:26

我来回答

1个回答

热心网友 时间:2022-04-22 09:10

转自:伊图网[]在阐述类的概念之前我们来先说说面向对象编程的概念:面向对象的程序设计(Object-OrientedProgramming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清晰、编写容易。说它是一场*,不是对对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。有人可能会说PHP不是一个真正的面向对象编程的语言,PHP是一个混合型语言,你可以使用面向对象编程,也可以使用传统的过程化编程。然而,对于大型项目的开发,你可能想需要在PHP中使用纯的面向对象编程去声明类,而且在你的项目开发只用对象和类。随着项目越来越大,使用面向对象编程可能会有帮助,面向对象编程代码很容易维护,容易理解和重复使用,这些就是软件工程的基础。在基于Web的项目中应用这些概念就成为将来网站成功的关键。对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。关于对象要从两方面理解:一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象。简单的来说,一个人就是一个对象,一个尺子也可以说是个对象。当这些对象可以用数据直接表示时,我们就称他为属性,尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性。在PHP里我们可以定义一个类,类(Class)就是指变量与一些使用这些变量的函数的集合。PHP是一种松散类型的语言,所以通过类型重载不起作用,通过参数的个数不同来重载也不起作用。有时在面向中重载构造函数非常好,这样你可以通过不同的方法创建对象(传递不同数量的参数)。在PHP中就是通过类来实现的。在PHP中是通过类来完成信息封装的,在PHP中定义类的语法是:在定义类时你可以按自已的喜好的格式进行定义,但最好能保持一种标准,这样开发起来会更有效些。数据成员在类中使用"var"声明来定义,在给数据成员赋值之前,它们是没有类型的。一个数据成员可以是一个整数,一个数组,一个相关数组(AssociativeArray)或者是一个对象。下面是一个类定义的实际例子:这是一个很普通定义类的简单例子,用于显示学生的学习成绩,类名为Student,Student类包涵了一个学生的基本属性:姓名、性别、学号、英语成绩和数学成绩。function我们称之为在类中被定义的函数,在函数中访问类成员变量时,你应该使用$this->var_name,其中var_name指的是类中被声明的变量,否则对一个函数来说,它只能是局部变量。我们先定义一个Input()的函数,用来给实例中的对象赋以初值:functionInput($Name,$Sex,$Id,$Englis,$Maths){$this->str_Name=$Name;$this->str_Sex=$Sex;$this->int_Id=$Id;$this->int_Englis=$English;$this->int_Maths=$Maths;}现在我们再定义一个叫“ShowInfo()”的函数,用于打印学生的基本情况:functionShowInfo()//定义ShowInfo()函数{echo(“姓名:$this->str_Name”);echo(“性别:$this->str_Sex”);echo(“学号:$this->int_Id”);echo(“英语成绩:$this->int_English”);echo(“数学成绩:$this->int_Maths”);}而定义好的类则必须使用new关键词来生成对象:$A_student=newStudent;例如我们要为一个名为$Wing的对象创建实例,并进行赋值,可以使用下面的代码:$Wing=newStudent;//用new关键词来生成对象$Wing->Input(“Wing”,”男”,33,95,87);//分别输入Wing的姓名、性别、学号、英语成绩、数学成绩,其中姓名和性别是字符型变量,所以需要用双引号,其它为数值型变量则不需要。通过下面这段完整的源代码,我们就可以很清楚的看到类在PHP是怎么被运用的:str_Name=$Name;$this->str_Sex=$Sex;$this->int_Id=$Id;$this->int_English=$English;$this->int_Maths=$Maths;}functionShowInfo(){echo(“姓名:$this->str_Name”);echo(“性别:$this->str_Sex”);echo(“学号:$this->int_Id”);echo(“英语成绩:$this->int_English”);echo(“数学成绩:$this->int_Maths”);}}$Wing=newStudent;$Wing->Input(“Wing”,”男”,33,95,87);$Paladin=newStudent;$Paladin->Input(“paladin”,”女”,38,58,59.5);$Wing->ShowInfo();$Paladin->ShowInfo();?>执行结果应是这样的:姓名:Wing性别:男学号:33英语成绩:95数学成绩:87姓名:Paladin性别:女学号:38英语成绩:58数学成绩:59.5PHP现有的版本较以前的版本在对面向对象编程的支持方面有了很大的改善,但支持的还不是很完整,不过现阶段PHP对面向对象编程语言提供的支持不但有利于我们设计程序的结构,对于对程序的维护也能提供很大的帮助。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
考数一英一的专硕可以调剂学硕吗 九推,怎样寻找捡漏的机会? 苏州朗悦湾小区周边配套怎么样? 田园风也能用兔宝宝顺芯板装修出来吗 兔宝宝是高端品牌吗?他一般用的是什么板材? 我家小猫被门夹了,后腿和尾巴都动不了了,医生说伤到了骨神经。说... 初一数学,求详细解题过程 初一数学,想很久都没想出来,请给位帮助一下,要详细过程 未来日记经典语录 如果去汇宝在线鉴定古玩瓷器在线交易,鉴定不合心意的话再鉴定还需要交... 面向对象程序设计 学习这门课程需要什么基础吗? 新买的固态硬盘可以直接用U盘装系统吗 该怎么系统的学习面向对象编程? 英魂之刃十大必买英雄有哪些? 如何学习面向对象编程 车载磁带可以用磁带播放机播放吗? 汽车磁带机和普通MP3怎么对接 车载磁带机换MP3 如何将老式汽车磁带收音机改装mp3 怎么接汽车拆下来的磁带机? 汽车收放机(放磁带的)可以改做放mp3吗?有知道的作个答,谢了 可以放磁带的汽车是那种 谁能帮我修修车载磁带机 能否把H445JMC改装到磁带式收放机的车上 车用磁带机与mp3 想换掉车用磁带机,请教各位 汽车磁带机怎样增加usb接口 车载磁带机怎么用?我买了个二手面包,是磁带机的 为什么插上卡带怎么没反应?电源开关在那?收音机会用! 老式汽车磁带机电源怎么接 汽车上的磁带机怎么加装USB接口 英魂之刃,有一张英雄兑换卡,对英雄不怎么熟悉,求个很炫伤害高的英雄 面向对象编程的核心知识有哪些 怎么样才能更好的掌握面向对象编程思想(oop)啊? 《面向对象程序设计》课程讲什么内容? 如何学习面向对象程序设计(C++) C++面向对象的编程怎么学? 试述面向过程的编程语言和面向对象的编程语言的概念、特点和区别。_百... 面向对象编程相对于面向过程编程有什么优点?二者有什么区别? 面向对象程序设计这门课程第四讲C#面向对象编程入门的知识点有哪些? 面向对象编程语言有哪些,哪个比较易上手 支付宝借呗欠款两万八逾期两年多今天委托方给我打电话说要起诉我是真的吗_百度问一问 被花呗借呗起诉会有什么影响呢? 花呗借呗30000逾期90接到电话说是要起诉? 花呗借呗逾期要被起诉怎么办? 欠花呗,借呗发律师函了,这是真的会被起诉吗? 借呗跟花呗逾期了今天收到短信说要起诉我 金凤花姑娘和三只小熊故事的梗概英文 支付宝借呗花呗逾期了两年多,会被起诉吗? 三只小熊英语版 三只小熊盖房子英语故事