博客列表 >PHP面向对象-类与对象的关系

PHP面向对象-类与对象的关系

Bean_sproul
Bean_sproul原创
2018年09月01日 12:49:20911浏览

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


?>

运行实例 »

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

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议