欢迎来到天天文库
浏览记录
ID:20507223
大小:535.50 KB
页数:28页
时间:2018-10-13
《php入门第18章 面向对象编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面向对象编程www.mingribook.com类的声明类的声明是类应用的前提条件,只有在创建了类、属性和方法之后,才可以实现类的实例化,调用类中方法实现某个封装的功能。所以类的声明是一切操作的源泉。这里主要讲解以下内容:(1)类的定义(2)成员属性(3)成员方法类的定义类的定义主要是通过class关键字加类名来实现的。类的格式如下:权限修饰符是可选项,可以使用public、protected、private或者省略这3者;class是创建类的关键字;类名是所要创建类的名称,必须写在class关键字之后,在类的名称后面必须跟上一对大括号;类体
2、是类的成员,类体必须放在类名后面的两个大括号“{”和“}”之间。类的定义实例例如:创建一个ConnDB类。代码如下:注意:虽然ConnDB类仅有一个类的骨架,什么功能都没有实现,但这并不影响它的存在。一个类即一对大括号之间的全部内容都要在一段代码段中,不允许将类中的内容分割成块,例如:这种格式是不允许的。成员属性概念:在类中直接声明的变量称为成员属性(也可以称为成员变量),可以在类中声明多个变量,即对象中有多个成员属性,每个变量都存储对象不同的属性信息。类型:成员属性的类型可以是
3、PHP中的标量类型和复合类型,但是如果使用资源和空类型是没有意义的。成员属性的声明:成员属性的声明必须有关键字来修饰,例如:public、protected、private等,这是一些具有特定意义的关键字。如果不需要有特定的意义,那么可以使用var关键字来修饰。还有就是在声明成员属性时没有必要赋初始值。成员属性的实例下面再次创建ConnDB类并在类中声明一些成员属性,其代码如下:classConnDB{var$dbtype;var$host;var$user;var$pwd;var$dbname;var$debug;var$conn;}成员方法概念:在类中声明的函数称为成员方法。一个类中可
4、以声明多个函数,即对象中可以有多个成员方法。成员方法的声明:成员方法的声明和函数的声明是相同,唯一特殊之处是成员方法可以有关键字来对它进行修饰,控制成员方法的权限。声明成员方法的代码声明成员方法的代码如下:classConnDB{functionConnDB(){}functionGetConnId(){}functionCloseConnId(){$this->conn->Disconnect();}}类的实例化类创建成功后是远远不够的,只有在经过了实例化之后,在可以调用类中的方法完成指定的操作。这里主要讲解有关类的实例化的一些方法:(1)创建对象(2)访问类中成员(3)特殊的访问方法—
5、—“$this”和“::”(4)构造方法和析构方法创建对象类的实例化格式如下:$变量名=new类名称([参数]);$变量名:类实例化返回的对象名称,用于引用类中的方法。new:关键字,表明要创建一个新的对象。类名称:表示新对象的类型。参数:指定类的构造方法用于初始化对象的值。如果类中没有定义构造函数,PHP会自动创建一个不带参数的默认构造函数。创建对象的实例例如:这里对上面创建的ConnDB类进行实例化。其代码如下:classConnDB{functionConnDB(){//方法体}functionGetConnId(){//方法体}functionCloseConnId(){$this
6、->conn->Disconnect();}}$connobj1=newConnDB();$connobj2=newConnDB();$connobj3=newConnDB();访问类中的成员在类中包括成员属性和成员方法,访问类中的成员包括成员属性和方法的访问。访问方法与访问数组中的元素类似,需要通过对象的引用来访问类中的每个成员。其中还要应用到一个特殊的运算符号“->”。访问类中成员的语法格式如下:$变量名=new类名称([参数]);$变量名->成员属性=值;$变量名->成员属性;$变量名->成员方法;特殊的访问方法——“$this”和“::”1.$this$this存在于类的每个成员方
7、法中,它是一个特殊的对象引用方法。成员方法属于哪个对象,$this引用就代表哪个对象,其作用就是专门完成对象内部成员之间的访问。2.操作符“::”相比$this引用只能在类的内部使用,操作符“::”才是真正的强大。操作符“::”可以在没有声明任何实例的情况下访问类中的成员。例如:在子类的重载方法中调用父类中被覆盖的方法。操作符“::”的语法格式如下:关键字::变量名/常量名/方法名这里的关键字分为3种情况:parent关
此文档下载收益归作者所有