php学习笔记之OO篇

 1.php中类定义和java中的类定义比较
   ex.class Person{                                              class Person{
           private  $name;                                               private String name;
           private  static     $staticVariable =0;                private static int  staticVariable=0;                                          
           public function  setName($name){                   public    void setName(String name){
               $this->name = $name; //注意格式                      this.name = name;
           }                                                                       }
          public static    void say{                                     public static void say{
                //这个时候不要用$this
                print  self::$staticVariable;                                    System.out.println(staticVariable);
          }                                                                         }
        }                                                                      }
        $p = new Person();                                       Person p = new Person();
        $p->setName("John");                                  p.setName("John");
        Person::$staticVariable++;                           Person.staticVariable++;//p.staticVariable++;也是对的
        Person::say();                                               Person.say();                   //p.say();也是对的
        静态变量和静态方法一般认为是属于类级别的,即是所有该类变量所共享的,
        所以一般用class来调用方法或属性,而不是用对象.
        比较: php中的$this和java中的this都表示对当前对象的引用.   
2.parent::指向父类,一般用来访问父类的构造函数. ex.parent::_construct();
   self::指向自身类,用来访问静态成员(变量或者方法)
3.php和java一样也有 instanceof
4.php 中的abstract,interface,implements,extends,final等用法和表达含义于java一致
   php中也有public,protected,private关键字
   public :      可以在任何作用域访问
   protected: 从类和类的继承者可以访问(java中为包空间的所有类可以访问)
   private:     自身类才能访问
5.php中的_toString()和java中的toString()作用一致             
6.php中的构造函数统一定义为  
    function _construct() {}
    php中也有析构函数统一定义为
    function _desctruct(){}
7.php中一个类只能继承另一个类,但可以实现多个接口,一个接口可以继承多个多个接口(这些是和Java相同的)
    ex.interface I1 extends I2,I3,....{
    }
    该接口与继承的接口是不能冲突的(不能重复定义方法或者常量)             
              
                     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值