Blogger Information
Blog 55
fans 0
comment 0
visits 50479
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP面向对象-类与对象的关系
Bean_sproul
Original
898 people have browsed it

<h3><span style="color: red">对象:</span>对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。</h3>

<h3><span style="color: red">类:</span>具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。</h3>

实例

<h3><span style="color: red">对象:</span>对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。</h3>

<h3><span style="color: red">类:</span>具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型。类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。</h3>

<hr>

<h3><span style="color: red">例子:</span></h3>

<?php 


class GirlFriend {//定义一个女朋友类
 
 /* 类中的成员{
	
	属性(变量) ---静态描述:姓名、性别、年龄、身高、体重、三维

    方法(函数) ---动态描述:说话、奔跑、可以生孩子、洗碗、}*/

    
    //--------------------------start---------------------------
    
    /*如果不需要特定的修饰,用var来声明成员属性
    如果需要特定的意义,
    public 一个公共的权限声明
    private 一个私有的权限声明
    static 静态的权限声明*/


    var $weight; //这是一个变量,用于储存体重

    public $name ='波多野结衣'; //public是访问控制 ,声明为共有的
    
    public $age =18; //public是访问控制 ,声明为共有的

    public $stature = [100,50,90]; //public是访问控制 ,声明为共有的
    
    //---------------------------end----------------------------

    public function getInfo($name='',$age=''){
          
      /*$this:当前类被实例化之后的对象, -> 对象成员访问符*/
      $this -> name =empty($name) ? $this->name:$name;
      $this -> age =($age == 0) ? $this->age:$age;
      return '姓名:'. $this->name . ',年龄:'. $this->age.'<br>';
    }
    

    public function getStature($stature = []){
      
      $this -> stature =empty($stature) ? $this->stature:$stature;
     
      return '胸围:'. $this->stature[0] . ',腰围:'. $this->stature[1] .',囤围:'. $this->stature[2] . '<br>';



    }
}

//实例化类,创建对象的过程

echo "<h3>/*实例化一个叫girlfriend1的对象*/</h3>";
$girlfriend1 = new GirlFriend();/*实例化一个叫girlfriend1的对象*/

var_dump($girlfriend1);//打印girlfriend1的对象,可以知道它是一个object
echo '<hr>';

echo $girlfriend1->name,'<br>'; //访问类中成员的属性,单一的访问

echo $girlfriend1->getInfo(),'<br>';//访问一个方法函数,输出多个成员属性

echo $girlfriend1->getInfo('小泽玛丽',20),'<br>';//访问一个方法函数,并更新输出
echo $girlfriend1->getStature(),'<br>';//访问一个方法函数,并把数组输出
echo $girlfriend1->getStature([100,100,100]),'<br>';//访问一个方法函数,并更新数组输出

echo "<h3>/*实例化一个叫girlfriend2的对象*/</h3>";
$girlfriend2 = new GirlFriend();/*实例化一个叫girlfriend2的对象*/
echo $girlfriend2->weight="45kg";//访问成员的属性,并赋值


?>

运行实例 »

点击 "运行实例" 按钮查看在线实例

Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post