mvc-php类中有些方法只有方法名,没写内容

问题描述

php类中有些方法只有方法名,没写内容

一般都是MVC比较底层的类里会出现这种方法,搞不清楚这个事干嘛用的。是为了覆盖方法吗?还是只做定义用?

public function isRegistered($userId);

解决方案

貌似前置声明,似乎可以用不用

解决方案二:

应该就是前置声明,以前从来没注意过啊

解决方案三:

那是调用库中函数的声明,不然你不能用的,还可能造成问题,
底层那个类接口文件一般是由底层去修改的,顶层不用问事
具体的实现方式,是C/C++写在库里的,不用问事,而且你也看不到

解决方案四:

不要断章取义!

 abstract class a {
  abstract public function isRegistered($userId);
}

抽象函数的抽象方法才可以这么写

解决方案五:

你说的应该是抽象方法,这个方法是先定义,后面再去具体实现的,相当于建房子,先把支架搭好,然后再添砖加瓦!

解决方案六:

抽象类的抽象方法吧,那是需要继承类去实现方法内容的。所以只需要声明继承的类需要实现方法的内容。

<?php
abstract class AbstractClass
{
// 强制要求子类定义这些方法
abstract protected function getValue();
abstract protected function prefixValue($prefix);

// 普通方法(非抽象方法)
public function printOut() {
    print $this->getValue() . " ";
}

}

class ConcreteClass1 extends AbstractClass
{
protected function getValue() {
return "ConcreteClass1";
}

public function prefixValue($prefix) {
    return "{$prefix}ConcreteClass1";
}

}

class ConcreteClass2 extends AbstractClass
{
public function getValue() {
return "ConcreteClass2";
}

public function prefixValue($prefix) {
    return "{$prefix}ConcreteClass2";
}

}

$class1 = new ConcreteClass1;
$class1->printOut();
echo $class1->prefixValue('FOO_') ." ";

$class2 = new ConcreteClass2;
$class2->printOut();
echo $class2->prefixValue('FOO_') ." ";
?>
以上例程会输出:

ConcreteClass1
FOO_ConcreteClass1
ConcreteClass2
FOO_ConcreteClass2
抽象类的子类中的普通方法执行方式和其他类相同。


时间: 2024-10-20 12:19:24

mvc-php类中有些方法只有方法名,没写内容的相关文章

java-怎么获取一个JAVA类中各个方法的代码块

问题描述 怎么获取一个JAVA类中各个方法的代码块 特殊需求:获取一个JAVA类中各个方法的代码块来查找方法中是否包含某个关键字,现在通过发射只能拿到方法的属性和注释,有没有API或者其他方法,求告知,3Q 没金币了..对不起大家 PS:获取本地源代码的,不是运行时的class 解决方案 myeclipse中调试调用带有静态代码块的类时出现java.lang.NoClassDefFoundError的处理方法在DWR中实现直接获取一个JAVA类的返回值的两种方法java代码获取当前类类名.方法名

怎么实现javascript中调用java类中的方法

问题描述 body中部分代码如:<center><font size="4" color="red">吊灯</font> <input type="button" id="diaodeng" value=<%=state[0]%> onclick="dianji1()"><br><br><br><br>

Struts2框架,表单请求到action出错,貌似找不到自定义action类中的方法。

问题描述 Struts2框架,表单请求到action出错,貌似找不到自定义action类中的方法. 关键代码如下: ${Msg.sendUser.username } 上面代码的意思是:把${Msg.sendUser}提交到action,赋值给 action类属性message的sendUser.(sendUser数据类型是User对象) 请求后提示找不到action中的自定义方法,但是我表单中的值换成下面 的,变成赋值给message的属性sendUser的属性username,就能成功. 是

C#类中虚方法相互调用的潜在重载错误

错误    当我们编写基类虚方法时,需要注意一个问题,就是基类中虚方法的相互调用,有可能引起派生类重载时的潜在错误隐患.当然这个错误并不是C#语言设计的缺陷,而是一个不可避免的实现而已.当然如果我们是要编写通用的组建基类,就需要注意一下了.     或许我们刚开始做OOP的时候,对于有没有方法有没有virtual根本不在乎,很多是时候我们都重写了(rewrite)了基类方法.当然在需要确定重载(override)的时候,virtual关键字限定基类方法是不可少的.那么是不时我们就可以把基类的方法

java数据流DataInputstream类中的方法readBoolean()的作用是什么?

问题描述 java数据流DataInputstream类中的方法readBoolean()的作用是什么? 书上说readBoolean()的作用是读取一个布尔值,但是具体是 根据什么得到布尔值的?这个布尔值可以用于什么操作?跪求指点! 解决方案 从输入流读取,如果是0,就是false,否则就是true,bool值可以用来做逻辑判断. 解决方案二: 你写进去的时候的那个值,但需要顺序读取,写入时,第一个如果是int,那就读取时就要readInt,类似这样 解决方案三: JAVA中String类的i

collections-Java问题:Collections类中copy方法的疑问,求解答

问题描述 Java问题:Collections类中copy方法的疑问,求解答 解决方案 copy方法,第二个参数的list长度要小于第一个参数的list长度. 也就是copy方式是把第二个参数中的list值放到第一个参数的list中,从0开始

action 没有跳转-Action中调用另一个类中的方法时没有跳转,但是新建的其他测试类就可以跳转,WHY?

问题描述 Action中调用另一个类中的方法时没有跳转,但是新建的其他测试类就可以跳转,WHY? action中调用EmailUtil中的sendHtmlMail方法: public void forgetPassword() throws Exception { String email = request.getParameter("email"); User u=userService.getByEmail(email); Json json=new Json(); if (St

内部类-Java编程中A类如何调用B类中M方法里的C类的实例?

问题描述 Java编程中A类如何调用B类中M方法里的C类的实例? import java.awt.*; import java.awt.event.*; public class TestListener{ public static void main(String[] args){ Counter c1 = new Counter("Hello"); c1.CreatButton(); c1.add(c1.button); ----------------------------(

javascript-js类中一个方法无法调用弄一个方法

问题描述 js类中一个方法无法调用弄一个方法 <!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript"> function ui(){ this.we=function(){ alert("wed"); } this.test=function(e