php c c++等编程语言中 静态方法public private protected 类和方法的理解。

发布网友 发布时间:2022-04-06 01:09

我来回答

2个回答

懂视网 时间:2022-04-06 05:30

php中静态方法继承的方法:使用override函数进行继承,代码为【function write(){echo 'I can be overriden!';}static function no_write()】。

php中静态方法继承的方法:

之前一直对子类能否对静态函数进行override,故写了段测试代码,代码如下:

<?php
Class A
{
var $a='I/'m A';
function write()
{
echo 'I can be overriden!<br />';
}
static function no_write()
{
echo 'Can I be overriden?<br />';
}
 
}
 
Class B extends A
{
function write()
{
echo 'Override from A successfully!<br />';
}
static function no_write()
{
echo 'Can I override successful?<br />';
}
}
$a=new A;
$a->write();
$a->no_write();
 
$b=new B;
echo $b->a.'<br />'; //Attributes can be inherited
$b->write();
$b->no_write(); //static methods can be overriden
?>

运行结果如下:

I can be overriden!
Can I be overriden?
I'm A
Override from A successfully!
Can I override successful?

所以说,静态函数在子类里是可以被override的,但是在java里就不太清楚了,准备自己再写些代码测试下。a

相关免费学习推荐:php编程(视频)

热心网友 时间:2022-04-06 02:38

在本类中,protected与private是相同的,但protected可以被继承,而private却不行。
只有公有成员才能在类的外部访问。如class A{private:int a;public:int b;protected:int c;};A ca;ca.a //error
ca.b // ok
ca.c //error
cb.c //error。虽然c也是B的成员,但c在被继承的时候变成私有或者受保护的成员了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com