
<php
class Base{
const MSG = 'hello , world!';
}
class Son extends Base{
static function showMsg(){
echo parent::MSG;
}
}
Son::showMsg(); // output : hello , world!
class b extends a{
public $b;
function __construct() {
$this->b = $this->attribute;
}
}
在属性定义阶段不能使用你说的那种语句,如果你想使用那种赋值语句的话可以放到构造函数里面
删除分类时,要将子分类及其分类中的文章,及其它附属表的数据要全部删除,一定要考虑全面,否则按你说的,数据就乱了,不一致了,文章中的分类都没有了,它还怎么显示?
比较友好的做法是:删除父级分类时,如果有子类,则提示必须先删除子类
删除子类时,如果有文章,则提示:该分类下还有文章,是否删除?
你写的不对哦。
按你写的,
name
是子类是属性,而不是父类的。
这样:
<php
class
Person
{
private
$name="zhangsan";
}
class
Man
extends
Person
{
}
$m
=
new
Man();
//$m->name="zhangsan";
echo
$m->name;
>
<php
class A{
public function show(){
echo '调用方法';
}
}
class B extends A{
}
$b = new B();
$b->show();
父类的Pname
是
private
类型,也就是私有的只能父类自己的
函数调用
,子类以及外部是无法调用的。
如果这个变量只允许本类方法调用
应该用
private
方式调用,如果允许本类以及子类调用应该用
protected
保护)修饰,如果希望外部调用则应该用
public
公开修饰。这三个关键词对函数同样有效。
我把phpnet关于这个的说明放在下面参考资料里面了,你可以仔细看下。
这是php静态数据过早绑定的问题(即子类的all方法是从父类中继承过来的,__CLASS__常量过早的绑定成了父类名),解决这个问题:方法一:class all{ function all() { return __CLASS__; }} class my extends all{ function all() { return __CLASS__; }}//子类定义同名的方法(这其实就是覆盖了父类的方法,让__CLASS__绑定为自己的类名)echo my::all();
方法二:class all{ function all() { return get_class($this); }} class my extends all{}$my = new my();//非静态调用是不存在过早绑定的情况的。echo $my->all();
这个可以看看php530版本之后的静态迟绑定相关信息(static关键字)
以上就是关于php子类调用父类的常量全部的内容,包括:php子类调用父类的常量、php 子类创建了个属性如何调用父类属性的值、请问,在PHP里面如果我要针对某个特定的父类下面的子类做显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)