关于php的类学习.docx“类”与“对象”的关系,明确如何定义“类”,对“类”的实例化:“对象”。定义类:classclassname{)定义名为classname的类定义对象:(实例化类)$manger=newcalssname();无带参构造名为classname的类实例Smanger定义类字段:publicSname;定义一个名为name的公共字段private$age=12;定义一个名为age的私有字段,并赋初值12,只允许本类访问,由此类实例的对彖也不能对其访问!在类中,对类字段的访问:$this->age=20;使用$this关键字,亠操作符,不使用$符号,在本类中可以无限制访问在由类实例化的对象,对类字段的访问:$manger->name=20;该字段的作用域必须为“public”,否则出错,不建议如此使用类字段作用域:publicprivate公共字段,允许对象直接操作,不推荐私有字段,只能在本类中使用,也不能被子类使用,即如果要在子类中访问,只能通过父类的public方法protected保护字段,子类可以使用,但不允许对象直接操作设置属性:privatefunction_set($fieldnme,$value)$this->$fieldnme=$value;}设置属性为自加载函数,但函数内容需自行添加设置属性的使用方法:$test1->no2=2;Stestl为被实例化的对象,其对应的类有字段$no2,使用该方法时,如果对应类不存在该字段,则添加一个该字段到对象,而类无变化获取属性:privatefunction_et($fieldnme)retum($this->$fieldnme);}该方法将返回一个值,其为对应类中的相应字段值获取属性的使用方法:$value=$testl->no2;$testl为被实例化的对彖,其对应的类有字段$no2,使用该方法吋类必须有字段no2,否则会导致无定义错误,调用_isset()方法判断属性:privatefunction_isset($nm){if(isset($this->$nm)){returntrue;}else{echo"未定义变量”.$nm;returnfalse;}} 引用未定义的类字段时会自动触发该属性删除属性:privatefunction_unset($nm){unset($this->$nm);}如果以上四个属性无法满足要求,可以口行添加public方法模拟属性操作。定义常量:constPl=; const只能在类中使用,其他啊地方用define引用类常量:classname::PI 类常量只能由类引用,无法由对象获得如果想获得类常量可以直接引用类常量或者以public方法模拟实现声明方法:publicfunctionfunname($value){//code} 与一般的函数类似,也可以带参和返冋值,同时有标明作用域,如public,未标明时默认为public调用方法:$object=newclassame();$object->funname(); 对象调用了方法funname();方法作用域:public可以任何位置任何时间访问,默认为publicprivate只能在本类中使用,用于做其他类的助手protected只能在该类或者其子类中使用abstract抽象类,在父类中声
关于php的类学习 来自淘豆网m.daumloan.com转载请标明出处.