Php和java的区别
以前一直使用java,现在因项目需要,刚开始使用php,在用的时候感觉特别扭.
Java是为面向对象设计开发,一切都已对象为核心,数组是最不常用的数据存放方式;
Php是以过程开发为主,数据纯粹是数组为王了.
以下例举几点不同:
Java类定义:
class Wenhq{
test1(){};
test2(){test1();};
static test3(){};
}
Java对象 小写Wenhq wenhq=new Wenhq();
Php类定义:
class Wenhq{
test1(){};
test2(){$this->test1();};
static test3(){};
}
Php 对象 $wenhq=new Wenhq();
第一、 在java中每个方法都必须在类中,在php中方法可以在任何地方写;
第二、 Java中的类是建议每个类都要指定包,不要放在默认的包下,这样方便区分不同的命名空间。
第三、 Java中的长方法,建议分割成到多个短的方法中,便于维护,可是在php中同样也可以分开,但java中在当前类或对象中调用时不需要指定this关键字,在php中不指定$this,竟然提示方法找不到,晕死了,自己的类中找不到自己的方法。在php中的static 方法中写$this,不报错,在使用类调用时才报错,很不爽啊。
第四、 Java中调用类的方法和对象区别不大,wenhq.test3(); Wenhq.test3();
Php中调用类的方法:Wenhq::test3(),对象的方法:wenhq->test3();
欢迎转载,请注明出处:亲亲宝宝
我只懂一些基础,这么高深的。。。看不懂。
[回复]
类里访问类方法需要$this不难理解吧,假如类外部有一方法(PHP非纯OO,方法不一定要置于类内部)跟类内部一样,总得找个法儿区分一下吧:)
[回复]
@miracle
倒是不难理解,但写起来很不方便,怕混淆啊,我那一个java中的例子说一下
在java中的类中可以定义变量,类中的方法也可以定义变量,两个可以同名,只有当同名时才需要使用this关键字,否则就不需要了,即使是在类中定义的,在方法中也可以直接调用啊,作用域不一样,取最近的.
[回复]
呵呵。讲的很好。支持下。学习了。
[回复]