php中js面向对象编程程是什么意思,到底用在什么地方,用一个项目中的实际例子来举例说明

php 面向对象的一个例子
字体:[ ] 类型:转载 时间:
php 面向对象的一个例子,学习php面对对象的朋友可以参考下。
代码如下: &?php class person{ //下面是人的成员属性 var $ //人的名字 var $ //人的性别 var $ //人的年龄 //定义一个构造方法参数为姓名$name,性别$sex和年龄$age function __construct($name,$sex,$age){ //通过构造方法传进来的$name给成员属性$this-&name赋初始值 $this-&name=$ //通过构造方法传进来的$sex给成员属性$this-&sex赋初始值 $this-&sex=$ //通过构造方法传进来的$age给成员属性$this-&age赋初始值 $this-&age="$age"; } //下面是人的成员方法 function say() //这个人可以说话的方法 { echo "我的名字叫:".$this-&name."性别;".$this-&sex."我的年龄是:".$this-&age."&br&"; } function run() //这个人可以走路的方法 { echo "这个人在走路"; } //这是一个析构函数,在对象销毁前调用 function __destruct() { echo "再见".$this-&name."&br&"; } } //通过构造方法创建3个对象$p1,$p2,$p3,分别传入三个不同的实参为姓名性别和年龄 $p1=new person("小明","男",20); $p2=new person("熊","女",30); $p3=new person("向日葵","男",25); //下面访问3个对象的说话方式$p1-&say();$p2-&say();$p3-&say(); ?&
输出结果为: 我的名字叫:小明性别;男我的年龄是:20 我的名字叫:熊性别;女我的年龄是:30 我的名字叫:向日葵性别;男我的年龄是:25 再见向日葵 再见熊 再见小明
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具什么是php面向对象及面向对象的三大特性-php教程-PHP中文网QQ群微信公众号还没有收藏什么是php面向对象及面向对象的三大特性什么是面向对象?面向对象编程,也就是我们常说的OOP,其实是面向对象的一部分。面向对象一共有3个部分:面向对象分析(OOA)、面向对象设计(OOD)、面向对象编程(OOP)。我们现在将要学习的就是面向对象的编程,而面向对象编程中两个首要了解的也是很重要的概念就是类和对象。类与对象万物皆对象,世间的万物我们都可以看成是对象,因为他们都有各自的属性。比如:人有身高,体重,年龄,性别等等这些属性,也可以唱歌,跳舞,跑步等等行为。如果把人看成一个类的话,那么身高,体重,年龄,性别这些就是人这个类的属性,而唱歌,跳舞,跑步就是人这个类的行为。大家可以尝试着去看看身边的事物,我们都可以把它看成一个类,多举例子,可以加深对类和对象概念的理解。在我们尝试举例子的时候,无形中就是在实例化类,关于实例化类的内容可以参见:面向对象编程三大特性(1).封装性简单形象的解释就是,把功能放在一个盒子里,要用到这个功能的时候,打开盒子,取出就可以使用。(2).继承性子类自动继承一个或多个父类中的属性与方法,并可以重写或者添加新的属性或方法。这个特性简化了类和对象的创建,提高了代码的可重用性。(3).多态性指的是一个类可以创建多个对象,获取不同的结果。以上就是什么是php面向对象及面向对象的三大特性的详细内容,更多请关注php中文网其它相关文章!共3篇253点赞收藏分享:.&猜你喜欢PHP中文网:独家原创,永久免费的在线,php技术学习阵地!
All Rights Reserved | 皖B2-QQ群:关注微信公众号你更喜欢面向对象的 PHP 还是 面向过程的 PHP? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
你更喜欢面向对象的 PHP 还是 面向过程的 PHP?
10:39:55 +08:00 · 3835 次点击
我自己从事PHP开发已经快两年,工作中自己写的都是面向过程的,有时出于需要会调用一些第三方库(多数用面向对象实现)。
别人的库挺好用,只是自己不知道怎样开始写面向对象的代码,觉得很碍手碍脚,没有面向过程来得简介明了。
不知道各位怎么看。
37 回复 &| &直到
13:38:29 +08:00
& & 10:46:06 +08:00
可以看看这个:
讲的比较细
& & 10:46:17 +08:00
面向过程的写法,耦合性有点高吧。
现在PHP主流的是面向对象,了解下面向对象的语法,可以到慕课网看看,学起来不难。
& & 10:53:22 +08:00
讨厌太过于追求OO的PHP代码,比如很多Wordpress插件,明明就那么几个功能,偏要写上N个分开的类
& & 11:00:10 +08:00
如果你写的面向过程能更容易的解耦,那么无所谓咯。
但事实证明OO更方便解耦。
& & 11:00:25 +08:00 via Android
看应用情景
& & 11:01:15 +08:00
真心还没折腾明白这两个东西
& & 11:29:13 +08:00 via Android
能实现功能的代码就是好代码,一般模型层面向对象,控制层面向过程
& & 11:30:16 +08:00
两位是慕课网粉丝么?
面向过程灵活,适合自己用。面向对象相对死板一些,适合与其他人合作。
& & 11:32:51 +08:00
不面向对象如何autoload?难道手工include/require?
& & 11:35:19 +08:00
@ 为了以后扩展呗,现在麻烦,将来省的折腾
& & 11:36:44 +08:00
可以面向对象
不能为了面向对象而面向对象
& & 11:42:26 +08:00
只能说面向对象是PHP社区里的趋势吧,你看下PHP从5.0起陆续给PHP加了多少java/ruby那边儿OO的概念
& & 11:51:36 +08:00
@ wordprss确实,一个简单的功能实现起来都很复杂,简直折腾,但它是面向插件开发的,要做成插件的形式,傻瓜式安装即可使用,又不能改wp源代码,只能这样了。
& & 12:05:55 +08:00
一个现实是,真正的明星产品都是自己的一套东西,不会用到现成的编程框架吧
& & 12:44:27 +08:00
不要为了面向对象而面向对象,不用面向对象,用过程也可以写出结构化很好的代码。
& & 12:53:48 +08:00
面向对象是应对复杂项目的 我建议还是多用面向对象
& & 13:06:11 +08:00 via Android
PHP面向对象太狗屎,绝大多数情况下用类似面向对象方式组织业务逻辑代码就好了。。
& & 13:50:57 +08:00
只是有点担心会因为自己的懒惰而错失一种好的工具
& & 13:51:27 +08:00
面向过程好比走直线
面向对象好比走曲线
如果有人说面向对象更好的工程化团队开发,面向过程架构好了一样可以的。
& & 14:04:50 +08:00
@ 最好的方法就是两种技能都掌握,然后自己选择最合适的一种来使用
& & 14:25:20 +08:00
复用代码有很多种方式,OO 复用比用函数复用更直观点。
& & 14:46:25 +08:00
面向对象编程比较绕,面向过程编程比较直接
面向对象的代码看起来费劲,面向过程的代码看起来直接
面向对象代码的复用性相当高 ,面向过程重复代码很多
个人见解,大神勿喷
& & 14:52:47 +08:00
只喜欢对象这个词^o^
& & 14:54:51 +08:00
我还以为大家会一致倾向面向对象.
看来在 PHP 的使用中, 功能实现比工程设计更重要啊.
& & 15:46:18 +08:00
面向过程很好用,弄些Class+staticFunction就够了
& & 16:55:08 +08:00
@ 是,通过慕课网确实学到了些东西,话说面向对象也很灵活的。
& & 17:14:04 +08:00
PHP语言本身根子里面就是面向过程的啊,例如:string bbcode_parse ( resource $bbcode_container , string $to_parse ),基本的函数都是面向过程的。所以学PHP的人不需要在开发中两种思维来回转换,不然真的有点郁闷。
面向过程和类其实没有那么严重的差异,其实很多超大型的项目也是面向过程的,Linus写Linux还是用的C呢,而且也批评面向对象。如下:
================================
`
Linux之父Linus Torvalds曾经在三年前,因为微软的一位同学质疑Git用C语言开发,而将C++痛批了一顿(参见Linux之父炮轰C++:糟糕程序员的垃圾语言)。当时,他是这样评论的:
C++正处在困境当中,它既无助于简化,以实际用于进行原型化或者简单的GUI编程,又不是像C那样的简洁的系统编程语言,能够积极地鼓励你使用简单和直接的语言构造。
日到11日,他又在邮件列表中连续发贴,直截了当地炮轰C++。他明确表示:“我确实不喜欢C++,依我来看,它真的是一门很烂的语言。”
他还说,C++语言想解决的问题都不对路,都是一些皮毛问题,而没有涉及真正深层次的问题。C++的对象、模板和函数重载都基本上纯粹是C的语法扩展,是语法糖,总体上把C的语法和类型系统都弄得更糟。他建议,在系统编程里直接用C就可以,非系统编程里,应该选择一种有垃圾收集的语言,C++语言的特性基本无用,只会捣乱。因此,什么时候C++都不可能是正确的选择。
在另一个帖子中,他进一步说明,内核开发使用C语言而非C++的理由之一,是交流。在庞大的项目中,人们对不是自己开发的模块并不了解,能快速理解其他模块中函数的确切含义才能提高开发效率。而C++引入的各种抽象则使代码非常依赖上下文,想理解一段代码,需要看多得多的上下文。对于需要不断打补丁(小段代码)的内核来说,这是非常要命的。Linus也承认,在其他一些情况下,可能需要更多语言支持,语言级的内存分配机制如垃圾收集、并发、动态代码生成等等。但是内核开发不需要。而且,即使是这些方面,C++也不灵。他不忘嘲笑C++的new关键字很蠢。
有人问到,C++没有解决的深层次问题是什么?Linus回答,比如并发。他进而又痛批了一通:C++是狗屎,根本没啥设计,只是在C上面加了些渣滓而已。
有人问Linus对Go语言怎么看。他回答,Go语言里有些不错而且重要的东西值得关注,许多决策都很合理。但设计者自己称这个语言为实验性的,这当然有其原因。而且,引入一种新语言没那么容易,过二十年再说吧。
此外,Linus还在另一个帖子里痛批了面向对象语言。他认为面向对象语言以对象为核心,加一些相关联的方法,简直是呓语。重要的东西应该是数据结构,对象本身有啥重要?真正有意思的,是在不同类型的不同对象交互而且有锁规则的时候。但是,即使是这时候,封装什么“对象接口”也绝对错误,因为不再是单一对象的问题了。他的结论是,面向对象解决的都是一些小问题。
`
& & 17:27:59 +08:00
当然,我不是说面向对象无意义,我觉得面向过程和面向对象无明显的高下之分啊,只是每个人的脑子不同,有些可能适合过程,有些可能适合对象。两者也不是不能互相替代。
& & 21:06:01 +08:00
& & 22:44:09 +08:00
还是面向‘对象’吧,不然晚上没地方睡觉
& & 22:48:49 +08:00
我觉得我写的面向过程比较多,有些项目还没到面向对象就完事了
& & 22:56:28 +08:00
一下子不知道怎么说了, 写了删删了写,
面向过程简单, 一个方法一个功能, 但是就跟 php 那么多内置方法有时候你却不知道一样.
面向对象, 就不一样, 概念上,
一个类一个功能点, 比如支付, 比如 oauth, 比如 http 请求, 比如 cookie, session, 相关方法都在里面, 高级点, 继承, 接口, 抽象, 依赖注入(解耦必备), 重载, 各种魔术方法, traits等.
觉得不是一个量级的东西.
& & 00:25:34 +08:00 via iPhone
OO 思想写出来的代码更容易维护,或者直接用框架,如laravel
& & 00:27:44 +08:00
不足够nb,写大型项目就知道面向过程是多么的糟糕。
& & 00:29:22 +08:00 via iPhone
modern php
& & 12:53:42 +08:00
说面向过程不易于解耦的原因是。。。很少写“纯函数”
纯函数写多了,就不纠结这个问题了。。
都是工具而已,看项目大小,看团队情况。
& & 13:38:29 +08:00
大家都说的很好,具体还是要根据项目来
& · & 2587 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.5 · 63ms · UTC 01:45 · PVG 09:45 · LAX 18:45 · JFK 21:45? Do have faith in what you're doing.扫二维码下载作业帮
2亿+学生的选择
下载作业帮安装包
扫二维码下载作业帮
2亿+学生的选择
面向对象编程是什么意思
扫二维码下载作业帮
2亿+学生的选择
c++概念:面向对象的程序设计(Object-Oriented Programming,简记为OOP)立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者.它通过给程序中加入扩展语句,把函数“封装”进编程所必需的“对象”中.面向对象的编程语言使得复杂的工作条理清晰、编写容易.说它是一场革命,不是对对象本身而言,而是对它们处理工作的能力而言.对象并不与传统程序设计和编程方法兼容,只是部分面向对象反而会使情形更糟.除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多.有人可能会说PHP不是一个真正的面向对象编程的语言,PHP 是一个混合型 语言,你可以使用面向对象编程,也可以使用传统的过程化编程.然而,对于大型项目的开发,你可能想需要在PHP中使用纯的面向对象编程去声明类,而且在你的项目开发只用对象和类.随着项目越来越大,使用面向对象编程可能会有帮助,面向对象编程代码很容易维护,容易理解和重复使用,这些就是软件工程的基础.在基于Web的项目中应用这些概念就成为将来网站成功的关键.对象(Object)是问题域或实现域中某些事物的一个抽象,它反映此事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体.关于对象要从两方面理一方面指系统所要处理的现实世界中的对象;另一方面对象是计算机不直接处理的对象,而是处理相应的计算机表示,这种计算机表示也称为对象.简单的来说,一个人就是一个对象,一个尺子也可以说是个对象.当这些对象可以用数据直接表示时,我们就称他为属性,尺子的度量单位可以是厘米,公尺或英尺,这个度量单位就是尺子的属性.
扫描下载二维码php的面向对象编程:开发大型php项目的方法(一)_php实例-虚拟主机资讯|虚拟主机动态
产品服务快速通道
----------------
==域名注册==
英文域名注册
中文域名注册
==网站推广==
==虚拟主机==
----------------
双线路虚拟主机
基本型虚拟主机
商用型虚拟主机
论坛型虚拟主机
功能型虚拟主机
Vip合租虚拟主机
虚拟主机性能对比
虚拟主机免费试用
机房速度测试
----------------
==租用托管==
服务器租用
----------------
==企业邮局==
购买企业邮局
----------------
==付款方式==
----------------
==联系我们==
您当前位置:->-> ->
php的面向对象编程:开发大型php项目的方法(一)_php实例
作者:网友供稿
  西部数码-全国虚拟主机10强!20余项管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:&
  这篇文章介绍了在PHP中的面向对象编程(OOP,Object Oriented Programming)。我将向你演示如何通
过使用一些OOP的概念和PHP的技巧来减少编码和提高质量。祝你好运!
  面向对象编程的概念:
  不同的作者之间说法可能不一样,但是一个OOP语言必须有以下几方面:
抽象数据类型和信息封装
  在PHP中是通过类来完成封装的:
--------------------------------------------------------------------------------&?php
class Something {
// 在OOP类中,通常第一个字符为大写
function setX($v) {
// 方法开始为小写单词,然后使用大写字母来分隔单词,例如getValueOfArea()
$this-&x=$v;
function getX() {
return $this-&x;
?&--------------------------------------------------------------------------------
  当然你可以按自已的喜好进行定义,但最好保持一种标准,这样会更有效。
  数据成员在类中使用&var&声明来定义,在给数据成员赋值之前,它们是没有类型的。一个数据成员可
以是一个整数,一个数组,一个相关数组(associative array)或者是一个对象。
  方法在类中被定义成函数形式,在方法中访问类成员变量时,你应该使用$this-&name,否则对一个方
法来说,它只能是局部变量。
  使用new操作符来创建一个对象:
  $obj=new S
  然后你可以使用成员函数通过:
  $obj-&setX(5);
  $see=$obj-&getX();
  在这个例子中,setX成员函数将5赋值给对象的成员变量x(不是类的),然后getX返回它的值5。
  你可以象:$obj-&x=6那样通过类引用方式来存取数据成员,这不是一个很好的OOP习惯。我强烈建议通
过方法来存取成员变量。如果你把成员变量看成是不可处理的,并且只通过对象句柄来使用方法,你将是一
个好的OOP程序员。不幸的是,PHP不支持声明私有成员变量,所以不良代码在PHP中也是允许的。
  继承在PHP中很容易实现,只要使用extend关键字。
--------------------------------------------------------------------------------
class Another extends Something {
function setY($v) {
$this-&y=$v;
function getY() {
return $this-&y;
?&--------------------------------------------------------------------------------
文章整理:西部数码--专业提供、服务
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
文章页数:&
??????????
??????????
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
版权所有 西部数码()
CopyRight (c) 2002~ all right reserved.
公司地址:四川省成都市金牛区一环路北一段99号环球广场24楼 邮编:610031
电话总机:028-08 38
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028- 财务QQ:
售前咨询QQ:2182518
售后服务QQ:

我要回帖

更多关于 js面向对象编程 的文章

 

随机推荐