当前位置: 首页 > 知识库问答 >
问题:

javascript继承。如何扩展类

子车成和
2023-03-14

我在下棋。我想做一个抽象的piece类,然后可以通过pawn/knight/rook/等进行扩展。假设我的piece类是这样的:

"use strict";
function Piece(color) {
    this.color = color;
    this.type = "Abstract";
}
Piece.prototype.sayName = function sayName(){
    alert(this.type);
}
Piece.prototype.movePiece(oldPosition, newPosition){
};
var abstractPiece = new Piece("Black");
var pawnOne = new Pawn("Black");

我希望Pawn具有相同的sayName功能,但我希望它具有不同的movePiece功能,因为Pawn有自己独特的移动方式。我怎么做典当,使它扩展件,并覆盖件的移动件功能?

共有1个答案

丁子石
2023-03-14

我会用稍微不同的方式定义一个片段,使其更易于扩展。

var Piece = function(color) {
    return {
        color : color,
        type : "Abstract",
        sayName : function sayName(){
            alert(this.type);
        },
        movePiece : function(oldPosition, newPosition){
        }
    };
}

var Pawn = function(color) {
    var pawn = Piece("Black");
    pawn.movePiece = function(oldPosition, newPosition) { 
        // pawn move here 
    };
    return pawn;
}

然后,您可以通过执行piece(“black”)pawn(“black”)创建一个棋子或棋子。

 类似资料:
  • 问题内容: 我对使用python list对象感兴趣,但功能略有改变。特别是,我希望列表是1索引而不是0索引。例如: 输出应为:1 但是,当我更改和方法来执行此操作时,出现了错误。我对这些方法进行了很多修改,但这基本上就是我在那里做的: 我想问题是它本身正在调用与定义的方法相同的方法。如果是这样,如何使它使用方法而不是方法?我尝试使用代替,但导致投诉 有任何想法吗?另外,如果您可以为此指出一个好的

  • 我在挣扎。 当扩展一个类时,我可以很容易地向它添加一些新属性。 但是,当我扩展基类时,如果我想向基类的对象(简单对象的属性)添加新属性,该怎么办? 下面是一个带有一些代码的示例。 基类 派生类 现在,正如您可以从行内注释中看到的,这将激怒TypeScript。但这在JavaScript中工作。那么,实现这一目标的正确方法是什么呢?如果没有,问题是在我的代码模式本身吗?什么模式适合这个问题? 也许您

  • 问题内容: 在PHP / Java中,可以做到: 并且,Super类的所有公共/受保护的方法,属性,字段等都会自动成为Sub类的一部分,如有必要,可以重写这些类。 Javascript中的等效功能是什么? 问题答案: 我已经更改了现在的操作方式,我尝试避免使用构造函数和它们的属性,但是我从2010年起的旧答案仍然是最底层的。我现在更喜欢。适用于所有现代浏览器。 我应该注意,这通常比使用函数构造函数

  • 本文向大家介绍JavaScript 类继承,包括了JavaScript 类继承的使用技巧和注意事项,需要的朋友参考一下 示例 继承的工作方式与其他面向对象的语言相同:在超类上定义的方法可在扩展子类中访问。 如果子类声明了自己的构造函数,则它必须先通过调用父构造函数,super()然后才能进行访问this。            

  • 本文向大家介绍JavaScript中的继承之类继承,包括了JavaScript中的继承之类继承的使用技巧和注意事项,需要的朋友参考一下 继承简介       在JS中继承是一个非常复杂的话题,比其他任何面向对象语言中的继承都复杂得多。在大多数其他面向对象语言中,继承一个类只需使用一个关键字即可。在JS中想要达到继承公用成员的目的,需要采取一系列措施。JS属于原型式继承,得益于这种灵活性,我们既可以

  • 本文向大家介绍php类的扩展和继承用法实例,包括了php类的扩展和继承用法实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php类的扩展和继承用法。分享给大家供大家参考。具体如下: 希望本文所述对大家的php程序设计有所帮助。