为了梦为了未来,每天都在付出;汗水,泪水,每天都在流淌。

PHP-类与对象及例子

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

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

<?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";//访问成员的属性,并赋值


?>