当前位置: 首页 > 后端技术 > PHP

php面向对象

时间:2023-03-29 19:28:54 PHP

面向对象万物皆面向对象面向对象(英文:Object-orientedprogramming,缩写:OOP)是一种软件开发方式。面向对象的概念和应用已经超越了编程和软件开发,已经扩展到数据库系统、交互界面、应用程序结构、应用平台、分布式系统、网络管理结构、CAD技术和人工智能等领域。面向对象是一种理解和抽象现实世界的方法,是计算机程序设计技术[1]发展到一定阶段的产物。Class-定义事物的抽象特征。类的定义包含数据的形式和对数据进行操作的对象——是类的实例。php类创建一个简单的类实例化对象类类控制访问public(public):public类成员可以从任何地方访问。protected(保护):受保护的类成员可以被自身及其子类、父类访问。private(私有):私有类成员只能被定义它的类访问。类属性和方法属性->是类中的变量方法->类中的方法aa();?>类常量关键字classMyClass{constconstant='常量值';函数显示(){echoself::constant;}}echoMyClass::常量;类构造方法和销毁方法类继承和finalextends关键字aa();?>final关键字aa();?>调用父类构造方法parent关键字static关键字namespace命名空间必须放在代码的第一行下面的类型会被命名空间影响类(包括抽象类、traits)、接口、函数、常量简单调用并命名空间类usev\a;var_dump(newa());renameusev\aasa2;var_dump(newa2());importfunction导入函数自动加载类__autoload()函数php内置后期的静态绑定魔法量级测试{private$abc='';公共函数setAbc($val){$this->abc=$val;}公共函数getAbc($val){$this->abc;}}$test=newTest();$test->setAbc("abc");var_dump($test->getAbc());__set__getclassTest{private$abc='';公共函数__set($name,$val){$this->$name=$val;}公共函数__get($name){$this->$name;}$test=newTest();$test->abc='1234567';var_dump($test->abc)issetclassTest{private$abc='abc';公共函数__isset($val){返回isset($test->$val)?真假;}$test=newTest();var_dump(isset($test->abc));__unsetclassTest{private$abc='abc';公共函数__unset($val){echo("__unset:".$val);取消设置($this->$val);}}$test=newTest();unset($test->abc);__callclassTest{publicfunction__call($func,$cs){echo($func);//方法名print_r($cs);//传入参数}}$test=newTest();$test->go(1,ok);__callStaticclassTest{publicstaticfunction__callStatic($func,$cs){echo($func);//方法名print_r($cs);//传入的参数}}Test::go();__invokeclassTest{publicfunction__invoke($func){var_dump($func);}}$test=newTest();$test("asadasd");__toString执行类测试{publicfunction__toString(){return"hello....";}}$测试=新测试();回声($测试);对象拷贝和类型约束浅拷贝classA{public$age=10;公共$名称=“”;公共$名称=空;}$a=新A();$b=$a;$b->年龄=1;变种ump($a->age);深拷贝A类{public$age=10;公共$名称=“”;公共$名称=空;}$a=新A();$b=克隆$a;$b->年龄=1;var_dump($a->年龄);类型约束类A{public$name="";publicfunctiongo(){echo"12345678900987654321";}}函数文本(A$a){$a->go();}text(newA());Trait关键字php单继承只能继承一个类traitBt{publicfunctiona(){echo"aaa";}publicfunctionb(){echo"bbb";}公共函数c(){$this->a();$this->b();}}classText{使用Bt;}$test=newTest();$test->c();接口和抽象类以及设计模式