标签: extends

扩展类并在java中实现接口

interface Bouncable{ } 
interface Colorable extends Bouncable{ } 
class Super implements Colorable{ } 
class Sub extends Super implements Colorable {} // Ok (case -1)
Run Code Online (Sandbox Code Playgroud)

但,

class Sub implements Colorable extends Super {} // error (case -2)
Run Code Online (Sandbox Code Playgroud)

为什么case-2显示编译错误{ expected.为什么?虽然,case-1执行没有错误.

java oop extends implements

17
推荐指数
2
解决办法
6万
查看次数

strictfp关键字在实现/扩展接口/类时的行为

JLS strictfp接口指定:

strictfp修饰符的作用是使接口声明中的所有float或double表达式都是显式FP-strict(第15.4节).

这意味着在接口中声明的所有嵌套类型都是隐式strictfp.

JLS strictfp类:

strictfp修饰符的作用是使接口声明中的所有float或double表达式都是显式FP-strict(第15.4节).

这意味着在接口中声明的所有方法以及在接口中声明的所有嵌套类型都是隐式strictfp.

从这两段开始,没有任何迹象表明strictfp在实现/扩展使用strictfp修饰符声明的接口/类时的行为.

在搜索之后,我找到了strictfp关键字用法的一个很好的解释使用strictfp修饰符来实现跨平台的浮点计算一致性,并指定:

扩展FP严格超类的子类不会继承严格的行为.当重写方法不是时,重写方法可以独立地选择FP-strict,反之亦然.

并补充说: 在此输入图像描述

strictfp在扩展使用strictfp关键字声明的类时测试了关键字的行为,这是正确的:strictfp行为不是由扩展类的类继承的,但问题是在实现用strictfp关键字声明的接口时它是不正确的:strictfp行为不是由实现的类继承的界面.

任何人都可以解释我strictfp实现/扩展使用strictfp修饰符声明的接口/类的正确行为吗?

java extends strictfp implements

17
推荐指数
1
解决办法
888
查看次数

PHP自动加载和静态变量功能

=== Base.php ===

<?php
class Base
{
    public static function e()
    {
        static $number = 0;
        $number++;
        var_dump($number);
    }
}
Run Code Online (Sandbox Code Playgroud)

=== A.php ===

<?php
class A extends Base {}
Run Code Online (Sandbox Code Playgroud)

=== B.php ===

<?php
class B extends Base {}
Run Code Online (Sandbox Code Playgroud)

=== test.php ===

function __autoload($classname)
{
    require_once("{$classname}.php");
}

Base::e();
A::e();
B::e();
Run Code Online (Sandbox Code Playgroud)

php test.php,结果是:

int(1)
int(2)
int(2)
Run Code Online (Sandbox Code Playgroud)

结果为什么不是1,1,1?

php static extends function autoload

16
推荐指数
2
解决办法
367
查看次数

无法在coffeescript中扩展backbone.events

我收到错误:

Uncaught TypeError: Cannot read property 'constructor' of undefined 
Run Code Online (Sandbox Code Playgroud)

声明以下类时:

 class ViewHelpers extends Backbone.Events
Run Code Online (Sandbox Code Playgroud)

我可以使用相同的语法来扩展Backbone.Router,Views,Model等.这是我在快速日志中编写的已编译的javascript,以确保Backbone.Events在那里

__t('views').ViewHelpers = (function(_super) {

 #how i know it is definied here
 console.log(_super.trigger)

 __extends(ViewHelpers, _super);

 function ViewHelpers() {
   return ViewHelpers.__super__.constructor.apply(this, arguments);
 }

 return ViewHelpers;

})(Backbone.Events);
Run Code Online (Sandbox Code Playgroud)

因此引起错误的行是

ViewHelpers.__super__.constructor.apply(this, arguments);
Run Code Online (Sandbox Code Playgroud)

__extends()方法有什么不同,它适用于Backbone.View而不是Backbone.Events?

extends coffeescript backbone.js

15
推荐指数
1
解决办法
5001
查看次数

Hibernate @Embeddable类扩展了另一个@Embeddable类,找不到@OneToMany映射的属性

我们正在将旧的基于xml的配置转换为基于注释的配置

情况

有一个类被注释为@Embeddable(ParentPk.java),另一个类扩展了这个类 @Embeddable(ChildPk.java),这个ChildPk.java被用作复合主键SomeOwnerClass.java,它与另一个类有外来关系,SomeChildTable.java并倾向于使用父类中可用的属性col1col2ChildPk.java,但在执行查询Hibernate没有发现COL1COL2,而如果我复制COL1COL2ChildPk.java从父类中的每一件事工作正常.

下面是代码片段,SomeOwnerClass.java它引用了col1col2

>  @OneToMany(orphanRemoval = true, fetch=FetchType.EAGER)
>        @Cascade(value = {CascadeType.ALL,CascadeType.SAVE_UPDATE})
>        @Fetch(FetchMode.JOIN)
>        @JoinColumns({
>        @JoinColumn(name="COL_1",insertable=false,updatable=false,referencedColumnName="COL_1"),
>        @JoinColumn(name="COL_2",insertable=false,updatable=false,referencedColumnName="COL_2"),
>        @JoinColumn(name="COL_3",insertable=false,updatable=false,referencedColumnName="COL_3"),
>     })    private Set<SomeChildTable> collection = new
> HashSet<SomeChildTable>();
Run Code Online (Sandbox Code Playgroud)

针对这种情况的解决方案?

ParentPk.java

 @Embeddable
    public class ParentPk implements Serializable  {

        @Column(name="COL_1")
        private String col1;

        @Column(ame="COL_2")
        private String col2;

    }
Run Code Online (Sandbox Code Playgroud)

ChildPk.java …

inheritance extends hibernate embeddable

15
推荐指数
2
解决办法
1万
查看次数

PHP - 扩展类扩展方法

我有2节课:

class animal{
    public function walk(){
        walk;
    }
}

class human extends animal{
    public function walk(){
        with2legs;
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,如果我调用human-> walk(),它只运行2legs;

但我希望父母的行走; 太.

我知道我可以这样修改它:

class human extends animal{
    public function walk(){
        parent::walk();
        with2legs;
    }
}
Run Code Online (Sandbox Code Playgroud)

但问题是,我有很多子类,我不想把parent :: walk(); 每个孩子走路().有没有办法扩展我扩展类的方法?没有覆盖但真正扩展方法.还是有更好的选择吗?

谢谢.

php extends class

14
推荐指数
1
解决办法
2万
查看次数

内在的阶级延伸

在java中,假设我有以下类:

public class A{
  protected class B{
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以通过以下方式扩展内部类吗?

public class C extends A{
  protected class D extends B{
  }
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是我有上面的C类,我需要在A的内部类中进行更改,所以我认为我需要扩展内部类来这样做,但我不确定如何做到这一点.

java inheritance extends

13
推荐指数
1
解决办法
2万
查看次数

退出Smarty手动完成

我面临的问题是,我不确定如何在没有框架或模板引擎的情况下开发.我开始编码,现在我想去基础.

我曾经使用过这个MVC架构,使用Codeigniter和Smarty作为模板引擎.我现在要做的是使用原始的PHP而不提及这两种工具.

我不知道如何"复制"Smarty的"块"和"扩展"的概念.

我曾经定义了一个base.tpl文件,它有html头,只有body标签,以及基本css和js文件(在网站的每个页面中总是使用的文件),如下所示:(片段)

 <!DOCTYPE html>
 <head>
 <meta charset="utf-8" />
 <title>Dashboard</title>
 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport" />
 <meta content="" name="description" />
 <meta content="" name="author" />

 <!-- ================== BEGIN BASE CSS STYLE ================== -->
 <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
 <link href="{site_url()}assets/css/animate.min.css" rel="stylesheet" />
 <!-- ================== END BASE CSS STYLE ================== -->

 <!-- ================== BEGIN PAGE LEVEL CSS STYLE ================== -->
 {block name='custom_css'}{/block}
 <!-- ================== END PAGE LEVEL CSS STYLE ================== -->

 <!-- ================== BEGIN BASE JS ================== -->
 <script src="{site_url()}assets/plugins/pace/pace.min.js"></script>
 <!-- ================== …
Run Code Online (Sandbox Code Playgroud)

html php extends smarty include

13
推荐指数
1
解决办法
316
查看次数

TypeScript中扩展和交叉接口之间的区别?

假设定义了以下类型:

interface Shape {
  color: string;
}
Run Code Online (Sandbox Code Playgroud)

现在,请考虑以下方法为此类型添加其他属性:

延期

interface Square extends Shape {
  sideLength: number;
}
Run Code Online (Sandbox Code Playgroud)

路口

type Square = Shape & {
  sideLength: number;
}
Run Code Online (Sandbox Code Playgroud)

两种方法有什么区别?

而且,为了完整性和出于好奇,有没有其他方法可以产生可比较的结果?

extends types intersection typescript

13
推荐指数
1
解决办法
2939
查看次数

Django:扩展还是包含?

我和我的朋友正在争吵.在我目前的Django项目中,我创建了一个名为menu.html的文件,该文件将包含一系列配置并格式化为列表的链接.我现在使用以下Django/Python代码包含菜单,而不是手动将菜单硬编码到每个页面中:

{% include 'menu.html' %}
Run Code Online (Sandbox Code Playgroud)

但是,我的朋友建议这是不正确的方法.他说我需要使用extends而不是include然后定义内容,如下所示:

{% extend 'menu.html' %}
{% block content %}
The rest of my content here.
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

这是一些额外的代码.我使用哪个真的很重要?我更愿意使用前者.

django extends include

12
推荐指数
1
解决办法
8024
查看次数