标签: extends

打字稿:如何扩展两个类?

我希望节省我的时间,并在扩展PIXI类(2d webGl渲染器库)的类之间重用公共代码.

对象接口:

module Game.Core {
    export interface IObject {}

    export interface IManagedObject extends IObject{
        getKeyInManager(key: string): string;
        setKeyInManager(key: string): IObject;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是里面的代码getKeyInManager并且setKeyInManager不会改变,我想重用它,而不是复制它,这里是实现:

export class ObjectThatShouldAlsoBeExtended{
    private _keyInManager: string;

    public getKeyInManager(key: string): string{
        return this._keyInManager;
    }

    public setKeyInManager(key: string): DisplayObject{
        this._keyInManager = key;
        return this;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是通过a自动添加Manager.add()管理器中使用的键,以在其属性中引用对象本身的对象_keyInManager.

那么,让我们以纹理为例.这就是了TextureManager

module Game.Managers {
    export class TextureManager extends Game.Managers.Manager {

        public createFromLocalImage(name: string, relativePath: string): Game.Core.Texture{
            return this.add(name, Game.Core.Texture.fromImage("/" + …
Run Code Online (Sandbox Code Playgroud)

javascript oop extends typescript

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

泛型:列表<?extends Animal>和List <Animal>相同?

我只是想了解extendsJava Generics中的关键字.

List<? extends Animal>意味着我们可以在任何东西对象List是阿 Animal

那么以下也不会意味着同样的事情:

List<Animal>
Run Code Online (Sandbox Code Playgroud)

有人能帮助我了解上述两者之间的区别吗?对我来说extends这里听起来多余.

谢谢!

java generics extends covariance contravariance

45
推荐指数
3
解决办法
3万
查看次数

接口扩展另一个接口但实现其方法

在java中,当一个接口扩展另一个接口时:

  1. 为什么要实现它的方法?
  2. 当接口不能包含方法体时,如何实现其方法
  3. 如何在扩展其他接口而不实现它时实现这些方法?
  4. 实现另一个接口的接口的目的是什么?

这有Java的主要概念!

编辑:

public interface FiresDragEvents {

  void addDragHandler(DragHandler handler);

  void removeDragHandler(DragHandler handler);
}


public interface DragController extends FiresDragEvents {

  void addDragHandler(DragHandler handler);

  void removeDragHandler(DragHandler handler);

  void dragEnd();

  void dragMove();
}
Run Code Online (Sandbox Code Playgroud)

在eclipse中除了实现的方法之外还有实现标志DragController.

当我鼠标悬停它,它说它实现了方法!

java extends interface implements

43
推荐指数
3
解决办法
11万
查看次数

为什么"扩展"在类声明中位于"implements"之前

为什么实现必须始终在类声明中扩展后编写,例如:

public class Register extends ActionSupport implements ModelDriven
Run Code Online (Sandbox Code Playgroud)

为什么不

public class Register implements ModelDriven extends ActionSupport 
Run Code Online (Sandbox Code Playgroud)

是编译时错误

java extends implements

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

Django如何将自定义变量传递给上下文以在自定义管理模板中使用?

我正在扩展change_list.html,我需要输出settings.py中定义的变量

如何将该特定变量传递到自定义管理模板上下文?

django templates extends admin django-context

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

Java为什么接口扩展接口

我想知道在什么情况下我们从接口扩展接口?因为,例如

interface A{
    public void method1();
}
interface B extends A{
    public void method2();
}
class C implements B{
    @Override public void method1(){}
    @Override public void method2(){}
}
Run Code Online (Sandbox Code Playgroud)

不等于

interface A{
    public void method1();
}
interface B{
    public void method2();     
}
class C implements A, B{
    @Override public void method1(){}
    @Override public void method2(){}
}
Run Code Online (Sandbox Code Playgroud)

背后有什么重大原因吗?

java inheritance extends interface

36
推荐指数
4
解决办法
3万
查看次数

Angularjs合并了两个对象

例如,从这两个对象:

var object1 = {
  "color": "yellow",
  "size": null,
  "age": 7,
  "weight": null
}

var object2 = {
  "color": "blue",
  "size": 51,
  "age": null
}
Run Code Online (Sandbox Code Playgroud)

我想要这个(object2覆盖object1除了null他没有的属性或属性):

{
  "color": "blue",
  "size": 51,
  "age": 7,
  "weight": null
}
Run Code Online (Sandbox Code Playgroud)

javascript merge extends javascript-objects angularjs

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

PHP - 扩展__construct

我想知道你是否可以帮助我...

我有两个类,一个扩展另一个类.B类将被各种不同的对象扩展并用于常见的数据库交互.现在我希望B类处理它的连接和断开,没有来自A类或任何外部输入的指示. .

我所理解的问题是扩展类不会自动运行其__construct函数..有没有办法解决这个问题?

提前致谢..

class a extends b
{
   public function __construct()
   {
   }   

   public function validateStuff()
   {
      $this->insert_record();
   }
}

class b
{
   public function __construct()
   {
      $this->connect();
   }

   protected function connect()
   {
      return true;
   }

   public function insert_record()
   {
      return true;
   }
}
Run Code Online (Sandbox Code Playgroud)

php constructor extends class

30
推荐指数
3
解决办法
2万
查看次数

扩展.d.ts文件中定义的接口

在我的TypeScript项目中,我对外部js依赖项使用DefinitelyTyped定义.

有时可能会发生这些定义过时的情况.它也可能发生在某些库可以在运行时添加新方法,例如express-validator,您可以在其中定义自定义验证器函数.

因此,我想扩展这些.d.ts定义,添加新的方法和/或属性.

所以,如果我有我的DefinitelyTyped defininiton express-validator.d.ts:

declare module ExpressValidator {
  export interface Validator {
    is(): Validator;
    not(): Validator;
    isEmail(): Validator;
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能扩展Validator界面,例如我的application.ts

///<reference path='../typings/tsd.d.ts' />

import expressValidator = require('express-validator');
export var app = express();

app.use(expressValidator({
    customValidators: {
        isArray: function(value) {
            return Array.isArray(value);
        }
 }
}));

// How to extend Validator interface adding isArray() method??
Run Code Online (Sandbox Code Playgroud)

extends interface typescript definitelytyped

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

如何在角度2中扩展具有依赖性的服务

我有一个父服务,有一些依赖,如

@Injectable()
export class ParentService{
  constructor(private http:Http, private customService:CustomService){}
}
Run Code Online (Sandbox Code Playgroud)

我想扩展服务

@Injectable()
export class ChildService extends ParentService{
  constructor (){
    super(??) <= typescript now asking to enter two parameters according to ParentServie's constructor
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑 - - - - - - - - -

@Injectable()
export class ParentService{
  constructor(private http:Http, private customService:CustomService){}
  get(){this.http.get(...)}
}

@Injectable()
export class ChildService extends ParentService{
  constructor (private http:Http, private customService:CustomService){
    super(http, customService)
  }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以在组件中使用?

export class Cmp {
  constructor(private childService:ChildService){
    this.childService.get()
  }
}
Run Code Online (Sandbox Code Playgroud)

extends typescript angular2-services angular

26
推荐指数
3
解决办法
2万
查看次数