php5中对象和类的基础知识

php5中对象和类的基础知识

ID:8806977

大小:58.00 KB

页数:15页

时间:2018-04-08

php5中对象和类的基础知识_第1页
php5中对象和类的基础知识_第2页
php5中对象和类的基础知识_第3页
php5中对象和类的基础知识_第4页
php5中对象和类的基础知识_第5页
资源描述:

《php5中对象和类的基础知识》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、PHPV5中对象和类的基础知识(双冒号的用途)lazycms::$sysname第一次见到这种表现方式,请问是双冒号什么意思答:直接属类的方法或属性。也就是static静态方法或属性的使用。域运算符,一般用于在B类对象中使用A类对象的属性/方法!本文描述PHPV5中对象和类的基础知识,从最基本的概念一直讲到继承,主要针对经验丰富的面向对象程序员和尚未接触过对象的读者。作为PHP程序员,您肯定知道变量和函数。但类和对象可能就是另一回事。不定义单个类,就可以创建完美的系统。但即使您决定在自己的代码中不使用面向对象的编程,您仍可能需

2、要了解面向对象的编程。例如,如果使用第三方库,比如通过PHPExtensionandApplicationRepository(PEAR)可以使用的库,您将发现自己在实例化对象和调用方法。什么是类和对象?简单地说,类是一个由变量和方法组成的独立块或束。这些组件通常结合实现单个责任或一组责任。在本文中,您将创建一个类,该类收集了用于查询和填充由项和值组成的词典的方法。类可以直接用作组织数据和功能的简单方法,就像一组函数和变量一样。但使用类可以忽略它的存在。类可用于在内存中生成多个实例。这样的实例叫做对象。每个对象可以访问一组相同

3、的函数(在面向对象上下文中叫做方法)和变量(叫做特性或实例变量),但每个变量的实际值在每个对象中是不同的。考虑角色扮演游戏中的一个单元——比如坦克。类可能为坦克设置一组变量:防御和进攻能力,范围,健康状况,等等。该类也可能定义一组函数,其中包括move()和attack()。当系统包含一个坦克类时,该类可用于生成数十个或数百个坦克对象,每个对象都潜在地具有自己的健康状况或范围特征。因此,类是用于生成对象的蓝图或模板。理解类和对象最简单的方法可能就是创建一些类和对象。第一个类可以用class关键字创建类。最简单的情况是,类由关键

4、字类、名称和代码块组成:classDictionary{}类名可以包含字母、数字和下划线字符的任何组合,但不能以数字打头。上例中的Dictionary类尽管用处有限,但完全合法。那么如何使用该类来创建一些对象呢?$obj1=newDictionary();$obj2=newDictionary();$obj3=newDictionary();至少在形式上,实例化对象与调用函数相似。对于函数调用,必须提供圆括号。与函数一样,一些类需要您为其传递参数。您还必须使用new关键字。这就告诉PHP引擎您希望实例化一个新对象。然后,返回的

5、对象可以存储在一个变量中以供将来使用。属性在类的主体中,可以声明叫做属性的特殊变量。在PHPV4中,属性必须用关键字var调用。这仍是合法的语法,但主要是为了向后兼容。在PHPV5中,属性必须声明为public、private或protected。可以在关键字:在此我们是否可以有一点隐私?中阅读有关这些限定词的内容。但现在在例子中将所有属性声明为public。清单1显示一个声明了两个属性的类。清单1.声明两个属性的类classDictionary{    public$translations=array();    publ

6、ic$type="En";}正如所看到的,可以同时声明属性并为其赋值。可以用print_r()函数快速浏览一下对象的状态。清单2显示Dictionary对象现在具有更多成员。清单2.Dictionary对象一览$en=newDictionary();print_r($en);  如果运行该脚本,将看到如下对象的输出:DictionaryObject(    [translations]=>Array        (        )    [type]=>En)可以使用对象操作符->访问公共对象属性。所以$en->type表

7、示由$en引用的Dictionary对象的$type属性。如果可以访问属性,就意味着可以设置和获得其值。清单3中的代码创建Dictionary类的两个实例——换言之,它实例化两个Dictionary对象。它更改一个对象的$type属性,并添加两个对象的翻译:清单3.创建Dictionary类的两个实例$en=newDictionary();$en->translations['TREE']="tree";$fr=newDictionary();$fr->type="Fr";$fr->translations['TREE']="

8、arbre";foreach(array($en,$fr)as$dict){    print"type:{$dict->type}";    print"TREE:{$dict->translations['TREE']}";}该脚本输出如下type:EnTREE:tr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。