设为首页
加为收藏
联系我们
  • 电子商务
  • 软件网络
  • 看天下
  • 营销财经
  • 关闭导航
  • 网络编程
  • 数据库类
  • 关闭导航
  • 网络编程
  • 社交礼仪
  • 数据库类
  • 人文地理
  • 关闭导航
  • 编程工具
  • 电子书籍
  • 关闭导航
  • 生活休闲
  • 演讲讲座
  • 视频教程
  • 经典影视
  • 关闭导航
  • 您的位置: 首页 > 文章中心 > 网络编程 > PHP

    PHP类与对象入门与提高

    时间: 2008-09-05  信息来源: 梧桐树下  作者: 编辑整理  点击数:

    内容提示:PHP5对面向对象功能的支持使PHP在大型项目开发中应用成为可能,面向对象编程可提高程序的重复利用率,大大提高编辑效率,本文将带你走近PHP面向对象功能.


    包装

           包装可以隐藏一组方法的内容工具机制而只提供给用户一个定义良好的借口。在面向对象程序编程中,包装使得对象的数据结构和方法组合在一起。最容易理解“包装”的方式可以参考电话机。当今消费者可以购买各式各样的电话机,虽然这些电话机的内部设计方法可能不同,但是所有这些电话机器都能够通过一个标准的公共接口通讯。这就是包装的思想.

            一个类可以定义新数据类型。PHP本身具有变量类型,比如字符串变量和浮点类型变量。但是通过类你可以设计自己的数据类型比如船、用户参考手册和数据库等等。一个类定义这种数据类型的属性和行为(成员变量和方法)。下面的例子显示如何定义一个包含属性和方法的类。

    让我们看一下我们的交通工具的实际的例子

     <?php
    /*
    ** 如何定义一个类
    */
    class Class_Name
    {
    [var 变量定义]
    [Function 方法定义]
    }

    ?>
    ----------交通工具类------------
    <?php

    class vehicle
    {
    /*
    ** 属性
    */
    var $property1;
    var $property2;
    var $property3;

    /*
    ** 方法
    */
    function setTires($type)
    {
    if ($type == "Firestone")
    {
    $this->property1 = "Must be a Ford SUV";
    }
    }

    function color($col)
    {
    $this->property2 = $col;
    }
    }

    ?>  

    如何使用定义好的类

    类定义好以后,我们就可以建立它的实例。为了使用刚才的例子,我们在下面创建一个“交通工具”类的实例。

     <?php
    $myCar = new vehicle();
    $myCar->setTires("Firestone");
    ?>

    使用类中的变量

    最大的不同点在于使用一个对象和对象拥有的值的种类。一个字符串变量倒是很容易理解,因为它拥有一个值。
    $myStr = "PHP stands for... uh.. i forget";

    然而一个对象可以拥有任何种类的值
    $myCar->year = 1988;
    $myCar->value = 813.77;
    $myCar->hasAirbag = false;
    $myCar->color = "periwinkle";

    在PHP中,一个对象的所有成员变量默认是公有的。没有办法可以强迫一个对象的访问属性,但是如果希望一个变量是私有变量的话,我们可以用一种强调的方式来实现。

    $this pointer
    如果你想调用一个对象的方法,你可以使用 '$this'来调用此对象指定实例的成员变量。刚开始,你可能对这个有点不理解,让我们来看个例子。首先,假设你有两辆汽车。

    $myCar = new vehicle();
    $spousesCar = new vehicle();

    现在你有了同一个类的两个对象。你可能也听过这样的说法,“现在你有了同一个用户定义变量类型的两个综合变量”。 These are just different ways of talking about the same OOP concepts.
    每个变量,$myCar 和 $spousesCar, 拥有这个类的独立的一套属性。

    $myCar->property1;
    //这两个是不同的
    $spousesCar->property1;

    //即使property1只在类定义中出现一次。你必须清楚,它仅仅是为了构成一个新数据类型而设计的。
    但是在这个类内只有一个setTires()函数。当我们使用下面的语句的时候,它如何了解是谁调用了它呢?

    $myCar->setTires("Firestone");
     
    Tags: 类,对象 责任编辑:aboutstudy
     
      关于我们 友情链接 网站地图 广告服务 联系我们 管理登陆  
      鄂ICP备07014143号  
      Powered by EmpireCMS 5.0  
      Template designed by 直来直往.
      联系信息: QQ 365931563 Email:jiangtian001@sina.com  
      ©CopyRight 2007-2008, SKDE.CN, Inc. All Rights Reserved