6个回答
展开全部
下面定义了一个Cart类
<?php
class Cart
{
var $items; // 购物车中的项目
// 把 $num 个 $artnr 放入车中
function add_item ($artnr, $num)
{
$this->items[$artnr] += $num;
}
// 把 $num 个 $artnr 从车中取出
function remove_item ($artnr, $num)
{
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num;
return true;
} else {
return false;
}
}
}
?>
以一段代码说明问题,在一个类的定义内部,你无法得知使用何种名称的对象是可以访问的:在编写 Cart 类时,并不知道之后对象的名称将会命名为 $cart 或者 $another_cart。因而你不能在类中使用 $cart->items。然而为了类定义的内部访问自身的函数和变量,可以使用伪变量 $this 来达到这个目的。$this 变量可以理解为“我自己的”或者“当前对象”。因而 '$this->>items[$artnr] += $num' 可以理解为“我自己的物品数组的 $artnr 计数器加 $num”或者“在当前对象的物品数组的 $artnr 计数器加 $num”。
<?php
class Cart
{
var $items; // 购物车中的项目
// 把 $num 个 $artnr 放入车中
function add_item ($artnr, $num)
{
$this->items[$artnr] += $num;
}
// 把 $num 个 $artnr 从车中取出
function remove_item ($artnr, $num)
{
if ($this->items[$artnr] > $num) {
$this->items[$artnr] -= $num;
return true;
} else {
return false;
}
}
}
?>
以一段代码说明问题,在一个类的定义内部,你无法得知使用何种名称的对象是可以访问的:在编写 Cart 类时,并不知道之后对象的名称将会命名为 $cart 或者 $another_cart。因而你不能在类中使用 $cart->items。然而为了类定义的内部访问自身的函数和变量,可以使用伪变量 $this 来达到这个目的。$this 变量可以理解为“我自己的”或者“当前对象”。因而 '$this->>items[$artnr] += $num' 可以理解为“我自己的物品数组的 $artnr 计数器加 $num”或者“在当前对象的物品数组的 $artnr 计数器加 $num”。
展开全部
this我给你举个例子吧:
就像你叫蛋疼,但是你给别人讲你以前的事的时候,你不能总是蛋疼蛋疼的含自己吧,就想用一个简单的词,你就用我!这里的蛋疼就相当于类,我就相当于this
懂了吗?
就像你叫蛋疼,但是你给别人讲你以前的事的时候,你不能总是蛋疼蛋疼的含自己吧,就想用一个简单的词,你就用我!这里的蛋疼就相当于类,我就相当于this
懂了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
class Cmultip {
private $x = 0;
private $y = 0;
private $z = 0;
public function __construct($i, $j) {
$this->set_x($i);
$this->set_y($j);
}
public function set_x($i) {
$this->x = intval($i);
}
public function set_y($i) {
$this->y = intval($i);
}
public function get_z() {
return $this->x * $this->y;
}
public function display() {
return $this->x.' * '.$this->y.' = '.$this->get_z();
}
}
class Cmultip_show {
private $max_num = 0;
public $tab = "\t";
public $break = "\n";
public function __construct($n) {
$this->max_num = $n;
}
public function show() {
for($i=1; $i<=$this->max_num; $i++) {
for($j=$i; $j>=1; $j--) {
$this->display($i, $j);
$this->showtab();
}
$this->showbreak();
}
}
private function display($i, $j) {
$m = new Cmultip($i, $j);
echo $m->display();
}
private function showtab() {
echo $this->tab;
}
private function showbreak() {
echo $this->break;
}
}
$a = new Cmultip_show(9);
$a->show();
?>
class Cmultip {
private $x = 0;
private $y = 0;
private $z = 0;
public function __construct($i, $j) {
$this->set_x($i);
$this->set_y($j);
}
public function set_x($i) {
$this->x = intval($i);
}
public function set_y($i) {
$this->y = intval($i);
}
public function get_z() {
return $this->x * $this->y;
}
public function display() {
return $this->x.' * '.$this->y.' = '.$this->get_z();
}
}
class Cmultip_show {
private $max_num = 0;
public $tab = "\t";
public $break = "\n";
public function __construct($n) {
$this->max_num = $n;
}
public function show() {
for($i=1; $i<=$this->max_num; $i++) {
for($j=$i; $j>=1; $j--) {
$this->display($i, $j);
$this->showtab();
}
$this->showbreak();
}
}
private function display($i, $j) {
$m = new Cmultip($i, $j);
echo $m->display();
}
private function showtab() {
echo $this->tab;
}
private function showbreak() {
echo $this->break;
}
}
$a = new Cmultip_show(9);
$a->show();
?>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this 的定义比较模糊
你只要明白 哪里有this
它的意思就是指这个对象
this后边可以带一些具体东西
你只要明白 哪里有this
它的意思就是指这个对象
this后边可以带一些具体东西
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当前对象,比如在一个class中,$this指的就是这个类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询