草庐IT

PHP覆盖父类特征的特征方法

我正在使用Laravel5.1,但这并不是特定于该框架的,它更像是一个一般的PHP问题。有一个指定了特征的父类:namespaceIlluminate\Foundation\Auth;useIlluminate\Auth\Authenticatable;useIlluminate\Database\Eloquent\Model;useIlluminate\Auth\Passwords\CanResetPassword;useIlluminate\Foundation\Auth\Access\Authorizable;useIlluminate\Contracts\Auth\Authen

php - 检查方法是否存在于扩展类中但不存在于父类中

对于method_exists,它会检查所有方法,包括父类。例子:classToot{functionGood(){}}classTootsieextendsToot{functionBad(){}}functiontestMethodExists(){//truevar_dump(method_exists('Toot','Good'));//falsevar_dump(method_exists('Toot','Bad'));//truevar_dump(method_exists('Tootsie','Good'));//truevar_dump(method_exists('T

php - 从父类实例化子类 (PHP)

我有一个带有工厂模式函数的类:abstractclassParentObj{publicfunction__construct(){...}publicstaticfunctionfactory(){//returnsnewinstance}}我需要child能够调用工厂函数并返回调用类的实例:$child=Child::factory();并且最好不要覆盖child中的工厂函数类。我尝试了多种不同的方法来实现这一点,但都无济于事。我宁愿远离使用反射的解决方案,例如__CLASS__。(如果重要的话,我正在使用PHP5.2.5) 最佳答案

php - 列出给定类的所有方法,不包括 PHP 中父类的方法

我正在为PHP构建一个单元测试框架,我很好奇是否有一种方法可以获取排除父类方法的对象方法列表。所以鉴于此:classFoo{publicfunctiondoSomethingFooey(){echo'HELLOTHERE!';}}classBarextendsFoo{publicfunctiongoToTheBar(){//DRINK!}}我想要一个函数,给定参数newBar()返回:array('goToTheBar');WITHOUT需要实例化Foo的实例。(这意味着get_class_methods将不起作用)。 最佳答案 使

php - 使 DateTime::createFromFormat() 返回子类而不是父类

我正在扩展DateTime,添加一些有用的方法和常量。当使用new创建一个新对象时,一切都很好,但是当使用静态方法createFromFormat时,它总是返回原始的DateTime对象并且当然没有任何子方法可用。我正在使用以下代码来规避此问题。这是最好的方法吗?namespaceNoiseLabs\DateTime;classDateTimeextends\DateTime{staticpublicfunctioncreateFromFormat($format,$time){$ext_dt=newself();$ext_dt->setTimestamp(parent::create

php - Symfony2/Doctrine 在类表继承中间映射父类(super class)

我目前的模型结构如下:/***@ORM\Entity*@ORM\InheritanceType("JOINED")*@ORM\DiscriminatorColumn(name="related_type",type="string")*@ORM\DiscriminatorMap({"type_one"="TypeOne","type_two"="TypeTwo"})*/abstractclassBaseEntity{...(alltheusualstuff,IDs,etc)/***@ORM\OneToMany(targetEntity="Comment",mappedBy="baseE

java - "Cannot cast"子类到父类(super class)

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭9年前。ImprovethisquestionpublicclassMyListFragmentextendsListFragment{...}ListFragmentlistFragment=newMyListFragment();ListFragmentlistFragment=(ListFragment)newMyListFragment();这两行都没有编译“无法从MyListFragment转换为ListFragment”。

Android:调用父类(super class)的原因?

我正在查看来自Android开发者网站的记事本教程。我有一个关于调用父类(superclass)Activity的覆盖函数的问题。例如,publicclassNotepadv3extendsListActivity{...@OverridepublicbooleanonCreateOptionsMenu(Menumenu){super.onCreateOptionsMenu(menu);menu.add(0,INSERT_ID,0,R.string.menu_insert);returntrue;}}super.onCreateOptionsMenu()有什么意义?我看着develop

java - 我怎么知道何时何地调用父类(super class)的重写方法

我在编写Android应用程序时遇到了这个问题,但它似乎更多是一个通用的编程问题。情况是,我正在从库中扩展(子类化)一个类,并覆盖一个方法。我怎么知道我是否应该调用父类(superclass)的方法?什么时候?(在覆盖方法的开头还是结尾?)例如,我正在覆盖Android平台中类“Activity”中的方法“publicbooleanonCreateOptionsMenu(Menumenu)”。在一个例子中,我看到有人在方法的末尾写了“returnsuper.onCreateOptionsMenu(menu)”。但是我怎么知道应该这样做呢?它是否正确?如果我以“super.onCreat

android - 我们应该在执行某些代码之前还是之后调用父类(super class)

AndroidStudio0.4.6你好,我这里有一段代码。而且我经常感到困惑,如果super应该是执行的第一行还是最后一行。通常,我将它作为第一个调用,以便可以在父类中设置默认属性。但是,我之前正在查看一些执行此操作的代码。我只是想知道这有什么不同吗?@OverrideprotectedvoidonDestroy(){mBroadCastMgr.unregisterReceiver(receiver);super.onDestroy();} 最佳答案 如文档中所示:onDestroy()=Thiscallbackiscalledb