欢迎来到天天文库
浏览记录
ID:27587351
大小:88.03 KB
页数:15页
时间:2018-12-03
《php面向对象精要总结》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、PHP面向对象精要总结1使用extends实现继承以及重载、魔术方法的含义classBextendsA声明的时候B里可以没有A里的方法调用的时候:$b=newB();$b-gt;A里的方法();$匕飞1;^里的属性=1;$b-gt;B里的方法();$b_gt;B里的方法();如果$a=newA();可以$a-gt;A里的方法();$3-§1:^里的属性=1;不可以$a-gt;B里的方法();$a-gt;B里的方法();重载:B继承A,B里实现和A同名的方法属性。PHP中的"重载"与其它绝大多数面向对象语言不同。传统的
2、"重载"是用于提供多个同名的类方法,但各方法的参数类型和个数不同。魔术方法:PHP把所有以(两个下划线)开头的类方法当成魔术方法。所以你定义自己的类方法时,不要以_为前缀。2继承用private和protected访问修饰符可见性属性方法private不可以被继承属性方法protected类外部不可见,可以被继承属性方法public所定义的类成员可以在任何地方被访问3php中双冒号::的应用php类代码中常看到":/的操作符,这个是作用域限定操作符,是用一个双冒号"::"表示,它用来置顶类中不同作用域的级别。左边是作
3、用域右边是访问作用域的成员。在php中定义的作用域有self和parent两种(在php6中提供了static作用域)。范围解析操作符(也可称作PaamayimNekudotayim)或者更简单地说是一对冒号,可以用于访问静态成员、方法和常量,还可以用于子类覆盖父类中的成员和方法。代码如下:classMyClass{constCONST_VALUE=’Aconstantvalue’;echoMyClass::C0NST_VALUE:classOtherClassextendsMyClasspublicstatic$m
4、y_static=’staticvar’;publicstaticfunctiondoubleColonO{echoparent::CONST_VALUE."n";echoself::$my_static.〃n〃;OtherClass::doubleColon();//子类覆盖父类classMyClass{protectedfunctionmyFunc(){echo〃MyClass::myFunc()n〃:classOtherClassextendsMyClass{//覆盖父类中的方法publicfunctionmy
5、Func()//但仍然可以调用己被覆盖的方法parent::myFunc():echo〃OtherClass::myFunc()n’’;$class=newOtherClass();$class-gt;myFunc():4php中this和self以及parent的作用this:就是指向当前对象实例的指针,不指向任何其他对象或类。self:表示当前类的作用域,与this不同的是它不表示类的某个特定实例,在类之外的代码中不能使用self,而且它不能识别自己在继承中层次的位置。也就是说,当在扩展类中使用self时,它调用
6、的不是父类的方法,而是扩展类的重载的方法。self是指向类本身,也就是self是不指向任何己经实例化的对象,一般self使用来指向类中的静态变量。.代码如下:privatestatic$firstCount=0;private$lastCount;//构造函数function_construct()$this-gt;lastCount=++self:$firstCount;//使用self来调用静态变量,使用self调用必须使用::(域运算符号)parent:表示当前类父类的作用域,其余的跟self特性一样。pare
7、nt是指向父类的指针,一般我们使用parent来调用父类的构造函数。代码如下://继承类的构造函数function_construct($personSex,$personAge){parent::_construct("test");//使用parent调用了父类的构造函数$this-gt;personSex=$personSex;$this-gt;personAge=$personAge:5构造函数与析构函数具有构造函数的类会在每次创建对象时先调用此方法所以非常适合在使用对象之前做一些初始化工作。function
8、_construct(){}如果子类中定义了构造函数则不会暗中调用其父类的构造函要执行父类的构造函数,需要在子类的构造函数中调用parent::_construct()oPHP5引入了析构函数的概念,这类似于其它面向对象的语言,如C++。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。funotion_destruct(){
此文档下载收益归作者所有