如何才能在子类中访问私有属性 [英] How can it possible that a private propery is access in child class
问题描述
先生,当我们在子类中取消注释getModel方法并执行它显示错误私有属性无法在子进程中访问但在get_Display方法中相同的问题是访问它是如何可能的或者我犯了错误?
class Tv {
public $ volume;
private $ model;
function volume_up(){
$ this-> volume ++;
}
函数__construct($ m,$ v){
$ this-> model = $ m;
$ this-> volume = $ v;
}
函数getModel(){
返回$ this-> model;
}
}
$ obj =新电视('xyz',10);
/ / $ obj-> model; //错误无法访问私有财产
echo $ obj-> getModel(); //可以访问私有财产
类Plazma扩展电视{
/ * function getModel(){
返回$ this->型号;
} * /
函数get_Display(){
返回$ this-> model ='AXN';
}
}
$ obj2 =新Plazma('xyz',10);
// $ obj-> model; //错误无法访问私有财产
// $ obj2-> getModel(); / /可以访问私人财产
echo $ obj2-> get_Display('ANX');
?>
我的尝试:
class Tv {
public $ volume;
private $ model;
function volume_up(){
$ this-> volume ++;
}
函数__construct($ m,$ v){
$ this-> model = $ m;
$ this-> volume = $ v;
}
函数getModel(){
返回$ this-> model;
}
}
$ obj =新电视('xyz',10);
/ / $ obj-> model; //错误无法访问私有财产
echo $ obj-> getModel(); //可以访问私有财产
类Plazma扩展电视{
/ * function getModel(){
返回$ this->型号;
} * /
函数get_Display(){
返回$ this-> model ='AXN';
}
}
$ obj2 =新Plazma('xyz',10);
// $ obj-> model; //错误无法访问私有财产
// $ obj2-> getModel(); / /无法访问私人财产
echo $ obj2-> get_Display('ANX ); //但是这里私有财产是访问原因?
?>
卷;
private
模型;
function volume_up(){
this-> volume ++;
}
函数__construct(
sir when we un-comment the getModel method in child class and execute it dispaly error private property can not access in child but in get_Display method same propety is access how is it possible or i m making a mistake?
class Tv{
public $volume;
private $model;
function volume_up(){
$this->volume++;
}
function __construct($m,$v){
$this->model=$m;
$this->volume=$v;
}
function getModel(){
return $this->model;
}
}
$obj=new Tv('xyz',10);
//$obj->model;//error can not access private property
echo $obj->getModel();// can access private property
class Plazma extends Tv {
/*function getModel(){
return $this->model;
}*/
function get_Display( ){
return $this->model='AXN';
}
}
$obj2=new Plazma('xyz',10);
//$obj->model;//error can not access private property
// $obj2->getModel();// can access private property
echo $obj2->get_Display('ANX');
?>
What I have tried:
class Tv{
public $volume;
private $model;
function volume_up(){
$this->volume++;
}
function __construct($m,$v){
$this->model=$m;
$this->volume=$v;
}
function getModel(){
return $this->model;
}
}
$obj=new Tv('xyz',10);
//$obj->model;//error can not access private property
echo $obj->getModel();// can access private property
class Plazma extends Tv {
/*function getModel(){
return $this->model;
}*/
function get_Display( ){
return $this->model='AXN';
}
}
$obj2=new Plazma('xyz',10);
//$obj->model;//error can not access private property
// $obj2->getModel();// can not access private property
echo $obj2->get_Display('ANX'); // but here private property is access why ?
?>
volume;
private
model;
function volume_up(){
this->volume++;
}
function __construct(
这篇关于如何才能在子类中访问私有属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!