文档章节

PHP 在父类中调用子类的 静态属性 或 静态方法

蜉先生
 蜉先生
发布于 2015/02/28 23:55
字数 332
阅读 123
收藏 0

问题:如何 在 父类 中调用 子类 的 静态属性 或 静态方法 

     自己看代码

     

<?php
class A
{
    private stitac name = "A类";
    
    public static function aaa()
    {
        //获取静态方法调用的类名
	 $CalledClass = get_called_class();
	 
	 //输出子类的静态属性
        echo $CalledClass::name; 
        
        //调用子类的静态方法
         $CalledClass::fun(); 
    }
}

class B extends A
{
     public stitac name = "B类";
     
     public static function fun()
     {
        echo "B类属性";
     }
     
     public static function ceshi()
     {
       self::aaa();
     }
}

?>



例子:  现在有

            日志管理类 ManageLoges ,

            某功能类 DialogManage           

每一个功能类都需要生成自己类名的日志,如过 每次生成日志时都传入类名!感觉 太拙劣了! 所以 上代码

    ManageLoges 类

<?php

class ManageLoges
{
	private static $Log="错误:";
	
	//返回一个日志格式!
	    public static function Log()
	    {
			//获取静态方法调用的类名
			$CalledClass = get_called_class();
			$result = property_exists($CalledClass ,"LogPath" );
			if($result==true)
			{
				//存在
				self::$Log = $CalledClass::$Log;
			}
			
			$log = self::$LogPath.$CalledClass."类中 ,请仔细检查";
			return $log;
		}
	
}
?>


    DialogManage  类

<?php

require_once("ManageLoges.php");

//社交管理类
class DialogManage extends ManageLoges
{
	public static $Log="警告:";  // 你可以尝试把这一行注释掉,看结果有啥不同
	
	public static function ceshi()
	{
            echo self::Log();
	}	
}
?>



© 著作权归作者所有

蜉先生
粉丝 8
博文 19
码字总数 26222
作品 0
朝阳
程序员
私信 提问
java继承:父类和子类的关系

继承是java实现多态的一个重要元素之一,本文主要是自我学习了解java继承中父类和子类的关系。下面看父类和子类的源码 父类: 子类: 用例1(父类引用指向子类对象)测试执行顺序: 本例主要...

上官胡闹
2016/10/23
118
0
《从零开始学Swift》学习笔记(Day 45)——重写方法

原创文章,欢迎转载。转载请注明:关东升的博客 重写实例方法 在子类中重写从父类继承来的实例方法和静态方法。先介绍实例方法的重写。 下面看一个示例: class Person { var name: String ...

智捷课堂
2015/12/07
26
0
面向对象的封装

面向对象的封装 private 私有的 私有的属性不能直接在外面访问 protected 受保护的 受保护的属性 不能直接在外面访问 set($key,$value) $key--->没有权限赋值的属性名 $value 没有权限赋值的...

方花
2017/11/16
0
0
你真的了解[super ]关键字吗?

前言 此篇文章是看了阮老师的es6教程,看到关键字的时候觉得有必要总结梳理一下,原文还是参考 ECMAScript 6入门。 正文 这个关键字,既可以当作函数使用,也可以当作对象使用。 1.当作函数使...

代码写着写着就懂了
2018/11/02
0
0
java中静态属性和和静态方法的继承问题 以及多态的实质

转载地址:点击打开链接 首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏,隐藏是对于静态方法和成员变量(静态变量和实例变量)而言的。 静态方...

lwang_IT
2017/12/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器

一、前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 controll...

郑清
24分钟前
2
0
javascript-十六进制随机颜色

<script> // 编写一个函数,获得一个十六进制的随机颜色的字符串(如#20CD4F) // function randomColor(){ // var r = random(0,255).toString(16); // var g = random(0,255).toString(16......

ACKo
25分钟前
2
0
springBoot +mybatis 出现sql 语句在数据库可以查询到,但是赋值到实体类上就没有的情况?

1.不要老是反复查看自己是否写错了,为啥有的能出来有的出不来? 可以查看配置文件中是否配置全: 如果在application.yml 文件中是如下配置: mybatis: mapper-locations: classpath:mapp...

kuchawyz
38分钟前
2
0
正则表达式

一、RegExp对象 进行验证和查找的API 1、创建对象: (1)用/创建(直接量):var reg=/正则/ig,表达式固定不变时使用 (2)用new创建:var reg=new RegExp(‘正则’,‘ig’),表达式需要...

wytao1995
38分钟前
2
0
实战限流(guava的RateLimiter)

关于限流 常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取...

程序员欣宸
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部