需要在Js中使用继承,封装,抽象

时间:2016-04-14 09:40:28

标签: javascript oop

我试图在我的代码中使用继承,封装,抽象和对象概念。但我不知道如何在以下代码中使用它。如何将我的代码更改为新概念。我在下面的链接中添加了小提琴。

config.serve_static_files = false

Jsfiddle

1 个答案:

答案 0 :(得分:1)

您可能最好看一下下一代Javascript:ES2015(以前是ES6)或TypeScript这是Javascript的超集。他们都融合了阶级概念。

约束条件是ES2015还没有得到浏览器的良好支持,所以两者都需要转换为经典的Javascript(ES5)。

ES5中的经典方法是使用构造函数(由this页面提供):

//constructor method
function Apple (type) {
    //"public" property
    this.type = type;
    this.color = "red";

    //private variable, only visible in the scope of the constructor 
    logInfo(this.getInfo());

    //public method
    this.getInfo = function() {
        return this.color + ' ' + this.type + ' apple';
    };

    //private method
    function logInfo(info){
        console.log(info);
    }
}

//instancitation
var myApple = new Apple("macintosh");
//You can access public properties
myApple.color="red";
console.log(myApple.getInfo());

还要查看this answer