相关疑难解决方法(0)

ECMAScript 6是否有抽象类约定?

我很惊讶在阅读ES6时我找不到关于抽象类的任何内容.(通过"抽象类"我正在谈论它的Java含义,其中抽象类声明了子类必须实现的方法签名才能实现可实现化).

有没有人知道在ES6中实现抽象类的任何约定?能够通过静态分析捕获抽象类违规会很好.

如果我在运行时提出错误来表示尝试抽象类实例化,那么错误是什么?

javascript oop abstract-class ecmascript-6

151
推荐指数
1
解决办法
7万
查看次数

如何在JavaScript中创建无法实例化的抽象基类

我上课了

function Node() {
    //implementation
}
Run Code Online (Sandbox Code Playgroud)

和另一堂课

function AttributionalNode() {
    this.prototype.setAttr = function (attr) {
        this.atText = attr;
    };
}

AttributionalNode.prototype = new Node();
AttributionalNode.prototype.constructor = AttributionalNode;
Run Code Online (Sandbox Code Playgroud)

如何使类Node()无法实例化?比如我试试的时候

var node = new Node();
Run Code Online (Sandbox Code Playgroud)

所以它引发了一个例外?

javascript inheritance design-patterns

31
推荐指数
3
解决办法
8238
查看次数

JavaScript中"抽象"函数的最佳实践?

我刚写了一些JavaScript代码,后面跟着我认为是创建带闭包和一些函数的对象的好习惯:

var myStuff = (function() {
 var number = 0;
 var fn = {};
 fn.increment = function() { number++; };
 fn.decrement = function() { number--; };
 fn.getNumber = function() { return number; };
 return fn;
})();

myStuff.increment();
myStuff.increment();
alert(myStuff.getNumber()); // alerts '2'
Run Code Online (Sandbox Code Playgroud)

编写像上一个代码片段一样的代码没有问题.我想编写一些功能类似于OOP"抽象"类的代码.这是我努力的结果:

var myStuff = (function () {
var number = 0;
var fn = {};
fn.increment = function () { number++; };
fn.decrement = function () { number--; };
fn.doSomethingCrazy = function () { throw new Error('not implemented'); …
Run Code Online (Sandbox Code Playgroud)

javascript abstract-class functional-programming

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

可以在JS中使用Abstract类吗?

我在javascript中遇到了原型继承.

我想要实现的是方法概述,必须实现/定义何时继承.

我想知道这是否可能,如果可行,如何.

javascript inheritance prototype

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

Java到JavaScript的转换

我已经做了很多尝试在JavaScript中理解OOP但没有成功.

到目前为止我读过的所有文章都非常混乱,而且在JS中没有简单地解释OOP

作为在JavaScript中理解OOP的最后一次尝试,有人可以将以下代码转换为JS,请求?

public class Base
{
    public String firstName;  // public scope to simplify
    public String lastName;   // the same as above

    Base(String firstName, String lastName)
    {
        this.firstName=firstName;
        this.lastName=lastName;
    }
}


public class Derived extends Base
{
    public int age;  // public scope to simplify

    Derived(String firstName, String lastName, int age)
    {
        super(firstName, lastName);
        this.age=age;
    }
}
Run Code Online (Sandbox Code Playgroud)

里面主()

    Derived person = new Derived("John", "Doe", 25);

    System.out.println("My name is " + person.firstName + " " + person.lastName + " and …
Run Code Online (Sandbox Code Playgroud)

javascript oop

3
推荐指数
1
解决办法
204
查看次数