首先输入一些代码…

FlashBagUtil类包含常量:

class FlashBagUtil

{

const TYPE_NOTICE = 'notice';

const TYPE_WARNING = 'warning';

const TYPE_ALERT = 'alert';

const LANG_EN = 'en';

const LANG_RU = 'ru';

const LANG_IL = 'il';

}

家长班:

class CoreController

{

public $flashUtil;

public function __construct()

{

$this->flashUtil = new FlashBagUtil;

}

}

子班:

class BatchController extends CoreController

{

public function indexAction()

{

// Method 1 - This works fine

$flash = $this->flashUtil;

$flashType = $flash::TYPE_NOTICE;

// Method 2 - This, obviously, does not

$flashType = $this->flashUtil::TYPE_NOTICE;

// Method 3 - Neither does this as $flashUtil is a non-static instantiated object

$flashType = self::$flashUtil::TYPE_NOTICE;

}

}

PHP文档states:不能使用实例化的类对象访问声明为static的属性(尽管可以使用static方法).

但是我似乎能够用第一种方法做到这一点.我想念什么?

在这种情况下,方法1是访问静态内容的唯一,最干净的方法吗?

解决方法:

您所引用的类constant与类变量(属性)不同,并且可被实例化对象访问.您正在引用的文档引用了用static关键字(即private static $flashUtil;)定义的类变量,如果您习惯于使用其他更严格类型的OOP语言进行编程,则可能会引起混淆.

标签:oop,php

来源: https://codeday.me/bug/20191121/2050672.html

php 调用父类变量,PHP-通过实例化父类访问常量相关推荐

  1. 子类重写父类变量_为什么在子类中不重写超类的实例变量

    子类重写父类变量 当我们在父类和子类中创建一个具有相同名称的变量,并尝试使用持有子类对象的父类引用访问它时,我们会得到什么? 为了理解这一点,让我们考虑下面的示例,在该示例中,我们在Parent和Ch ...

  2. java根据父类找子类_在java中实现多态时,可以通过父类变量引用子类的对象。_学小易找答案...

    [单选题]对于字符串s="java",下面哪个选项返回字符在字符串中'v'的位置( ). [简答题]汽车核保的主要内容 [判断题]在java中产生子类对象时,直接调用子类的构造方法 ...

  3. java子类和父类有相同成员_Java -- 父类和子类拥有同名的成员变量的情况

    Java – 父类和子类拥有同名的成员变量取值情况 参考文章 结论: 当子类的成员变量与父类同名时,若对该成员变量进行操作的方法继承于父类,则改变和获取的是父类的成员变量.若对该成员变量进行操作的方法 ...

  4. 父类对象由子类实例化【转载】

    这个涉及到对象的多态性. 父类对象由子类实例化,即是对象的多态性中的一种类型之一:向上转型 父类 父类对象=子类实例 意思就是说:我们是使用子类来实例化对象,而这个对象却是披上了"父类对象& ...

  5. Java中子类对象赋值给父类变量

    1. 在Java中将一个字类对象赋值给父类变量是合法的,这也是实现多态(即方法的动态分派)的前提条件之一. 2. 在Java中父类赋值同样也适用于数组.可以将一个子类数组赋值给一个父类数组变量.但可能 ...

  6. python调用实例做父类_Python super() 调用父类方法, 但是父类中 self 并不是父类的实例而是子类的实例?...

    慕慕森 说一下self究竟是什么. 写这个的时候也没查阅文档,有些说法可能不是很准确. 类方法的第一个参数self是实例本身,也就是A=X()这个A. In [1]: class A(object): ...

  7. php继承父类的关键字,php继承父类函数

    Php 是单继承的 父类(基类)---子类(派生类)父类和子类就是一种继承的关系 子类可以从父类中继承所有的成员属性和成员方法(除了 private 类型成员的不能继承)...... 抽象类 为什么设 ...

  8. java调用方法的变量_JAVA类的方法调用和变量(全套)

    一.类的分类: 1.普通类 2.抽象类(含有抽象方法的类) 3.静态类(不需要实例化,就可以使用的类) 二.方法的分类: 1.私有方法(只有类的内部才可以访问的方法) 2.保护方法(只有类的内部和该该 ...

  9. java 子类 父类 转换_Java子类与父类之间的类型转换

    1.向上转换 父类的引用变量指向子类变量时,子类对象向父类对象向上转换.从子类向父类的转换不需要什么限制,只需直接蒋子类实例赋值给父类变量即可,这也是Java中多态的实现机制. 2.向下转换 在父类变 ...

最新文章

  1. 一文尽览!文本对抗攻击基础、前沿及相关资源
  2. 调整分区后盘符丢失的资料怎么寻回
  3. js判断对象是否是json对象
  4. PHP参数会被用作对象名
  5. struts2 Action获取表单数据
  6. kafka 异常:ERROR Failed to clean up log for __consumer_offsets-30 in dir /tmp/kafka-logs due to IOExce
  7. 极限挑战logo的制作教程
  8. 手写 Object.create
  9. linux命令——scp 两台linux机器间文件或目录传输
  10. SQL Server高级查询之T-SQL编程(存储过程)
  11. 苹果python环境依赖库,【强迫症系列】【mac】更改 Python 的 pip install 默认安装依赖路径...
  12. Java锁的种类以及辨析(三):阻塞锁
  13. IDEA快速生成测试用例类和完成单元测试
  14. cad高程测绘图lisp_CAD地形图高程信息快速提取的技术与实现
  15. c语言中obj的错误,C语言中的obj
  16. vue中局部过滤器和全局过滤器的使用
  17. JIRA 6.3.6 详细安装图解
  18. 基于SpringBoot下使用分布式文件存储FastDFS
  19. python提取cad中的文字_[python]提取PPT中的文字(包括图片中的文字)
  20. 科学史上最伟大的十位单身科学家

热门文章

  1. 直播课:5G来了,互联网百亿级创新的机遇在哪里?
  2. 用php写出显示客户端ip与服务器ip的代码.,PHP面试题答案
  3. Head First设计模式读书笔记四 简单工厂 工厂模式 抽象工厂模式
  4. 联想小新pro无法人脸识别自动开机的解决方法
  5. PyQt5学习笔记(一)PyQt5入门QLabel控件及使用
  6. 每天一个知识点:Python列表两个冒号加一个负数的表达方法
  7. bal插口_播放器上的这个“昂贵”的插口,是噱头还是真有用
  8. java常用网络协议_初识java网络编程
  9. Java基础02 位运算符<<、>>
  10. php代码执行漏洞,预警!!!PHP 远程代码执行漏洞