多语言展示
当前在线:653今日阅读:23今日分享:25

对象成员的访问

对象中包含成员属性和成员方法,访问对象中的成员包括成员属性的访问和成员方法的访问。对成员属性的访问则又包括赋值操作和获取成员属性值得操作。访问对象中的成员和访问数组中的元素类似。只能通过对象的引用来访问对象中的每个成员。
方法/步骤
1

对象中包含成员属性和成员方法,访问对象中的成员包括成员属性的访问和成员方法的访问。对成员属性的访问则又包括赋值操作和获取成员属性值得操作。访问对象中的成员和访问数组中的元素类似。只能通过对象的引用来访问对象中的每个成员。但这要使用一个特殊的运算符号”->”来完成对象成员的访问,访问对象中成员的语法格式:$引用名 = new 类名称([参数数列表]) ;   //对象实例化$引用名 ->成员属性 = 值  //对成员属性赋值的操作Echo $引用名->成员属性;  //获取成员属性的值 $引用名->成员方法  //访问对象中的成员方法在下面的实例中,声明一个Person类,其中包括三个成员属性和两个成员方法,并通过Person类实例化出三个对象,而且使用运算符号”->”分别访问三个对象中的每个成员属性和成员方法。”;    //在说话的方法体中可以有更多内容} Function run(){       Echo “这个人在走路”;          //在走路的方法体可以有更多内容}} //下面三行通过new关键字实例化person类的三个实例对象$person1 = new Person();  //通过类Person创建第一个实例对象$person1$person2 = new Person();  //通过类Person创建第一个实例对象$person2$person3 = new Person();  //通过类Person创建第一个实例对象$person3 //下面三行是给$person1对象中属性初始化赋值$person1->name=”张三”;    //将对象$person1的$name属性赋值为张三$person1->sex=”男”;    //将对象$person1的$sex属性赋值为男$person1->age=”20”;    //将对象$person1的$age属性赋值为20 //下面三行是给$person2对象中属性初始化赋值$person2->name=”李四”;    //将对象$person2的$name属性赋值为李四$person2->sex=”女”;    //将对象$person2的$sex属性赋值为女$person2->age=”30”;    //将对象$person2的$age属性赋值为30  //下面三行是给$perso3对象中属性初始化赋值$person3->name=”王五”;    //将对象$person3的$name属性赋值为王五$person3->sex=”男”;    //将对象$person3的$sex属性赋值为男$person3->age=”40”;    //将对象$person3的$age属性赋值为40  //下面三行是访问$person1对象中的成员属性Echo “person1对象的名字是:”.$person1->name.”
”;Echo “person1对象的性别是:”.$person1->sex.”
”;Echo “person1对象的年龄是:”.$person1->age.”
”; //下面两行访问$person1对象中的方法$person1->say();$person1->run(); //下面三行访问$person2对象中的成员属性Echo “person2对象的名字是:”.$person2->name.”
”;Echo “person2对象的性别是:”.$person2->sex.”
”;Echo “person2对象的年龄是:”.$person2->age.”
”; //下面两行访问$person2对象中的方法$person2->say();$person2->run(); //下面三行访问$person3对象中的成员属性Echo “person3对象的名字是:”.$person3->name.”
”;Echo “person3对象的性别是:”.$person3->sex.”
”;Echo “person3对象的年龄是:”.$person3->age.”
”; //下面两行访问$person3对象中的方法$person3->say();$person3->run();从上例中可以看到,只要是对象中的成员,都要使用”对象引用名->属性”或”对象引用名->方法”形式访问,如果兑现中的成员不是静态的,那么这是唯一的访问形式。

2

特殊的对象引用”$this”访问对象中的成员必须通过对象的引用来完成。如果在对象的内部,对象的成员方法中访问自己对象中的成员属性,或者访问自己对象内其他成员方法时怎么处理?那就是在兑现的外部还是在对象的内部,访问对象中的成员都必须使用对象的引用变量。但对象创建完成以后,对象的引用名称无法在对象的方法中找到。如果在对象的方法中再使用new关键字创建一个对象则是另一个对象,调用的成员也是两一个新创建对象的成员。 对象一旦被创建,在对象中的每个成员方法里面都会攒在一个特殊的对象引用”$this”.成员方法属于哪个对象,$this引用就代表哪个对象,专门用来完成对象内部成员之间的访问。This的本意就是”这个”的意思,就像每个人都可以使用第一人称代词”我”代表自己一样。例如,别人想访问你的年龄,就必须使用“张三的年龄”的形式,相当于在对象外部使用引用名”张三”访问他内部的成员属性”年龄”.如果自己想说出自己的年龄,则使用”我的年龄”,相当于在对象的内部使用引用名称”我”访问自己内部的成员。类Person中声明了两个方法say()和run(),通过类person实例化的三个实例对象$person1、$person2、$person3中都会存在say()和run()这两个成员方法,则每个对象中的这两个成员方法各自存在一个$this引用。在对象$person1的两个成员方法中的$this引用代表$person1、在对象$person2的两个成员方法中的$this引用代表$person2、在对象$person3的两个成员方法中的$this引用代表$person3 修改一下上面实例,在声明类Person时,成员方法say()中使用$this引用访问自己对象内部的所有成员属性。然后调用每个对象中的say()方法,让每个人都能说出自己的名字、性别和年龄 name.”,性别:”.$this->sex.”,年龄:”.$this->age.”.
”  } Function run(){       Echo $this->name.”在走路
”;  //使用$this访问$name属性}} //下面三行通过new关键字实例化person类的三个实例对象$person1 = new Person();  //通过类Person创建第一个实例对象$person1$person2 = new Person();  //通过类Person创建第一个实例对象$person2$person3 = new Person();  //通过类Person创建第一个实例对象$person3 //下面三行是给$person1对象中属性初始化赋值$person1->name=”张三”;    //将对象$person1的$name属性赋值为张三$person1->sex=”男”;    //将对象$person1的$sex属性赋值为男$person1->age=”20”;    //将对象$person1的$age属性赋值为20 //下面三行是给$person2对象中属性初始化赋值$person2->name=”李四”;    //将对象$person2的$name属性赋值为李四$person2->sex=”女”;    //将对象$person2的$sex属性赋值为女$person2->age=”30”;    //将对象$person2的$age属性赋值为30  //下面三行是给$perso3对象中属性初始化赋值$person3->name=”王五”;    //将对象$person3的$name属性赋值为王五$person3->sex=”男”;    //将对象$person3的$sex属性赋值为男$person3->age=”40”;    //将对象$person3的$age属性赋值为40  $person1->say();     //使用$person1访问它中的say()方法,方法say()中的$this就代表这个对象$person1 $person2->say();     //使用$person2访问它中的say()方法,方法say()中的$this就代表这个对象$person2 $person3->say();     //使用$person3访问它中的say()方法,方法say()中的$this就代表这个对象$person3

推荐信息