gpt4 book ai didi

javascript - 这是做 JS OOP 的好方法吗?

转载 作者:数据小太阳 更新时间:2023-10-29 04:08:38 27 4
gpt4 key购买 nike

我想问一下我的以下 OOP 风格的优缺点。我按以下方式编写我的 JS 类。

var MyClass = function() {
// private vars
var self = this,
_foo = 1,
_bar = "test";

// public vars
this.cool = true;

// private methods
var initialize = function(a, b) {
// initialize everything
};

var doSomething = function() {
var test = 34;
_foo = cool;
};

// public methods
this.startRequest = function() {

};

// call the constructor
initialize.apply(this, arguments);
};

var instance_1 = new MyClass();
var instance_2 = new MyClass("just", "testing");

这是一个好方法吗?有什么缺点吗?我不使用继承,但是这样可以实现继承吗?

提前致谢。

最佳答案

我认为这是一个非常好的方法。不要为“无继承”问题感到羞耻。大多数 OOP 与继承无关。最重要的方面是封装和多态性,您已经掌握了它们。

可以争辩(嗯,我通常争辩)只有静态语言才需要继承,你必须以某种方式告诉编译器这两种类型(类)是相关的,它们有一些共同点(共同点祖先),以便它可以允许多态性。对于动态语言,OTOH,编译器不会关心,运行时环境会在没有任何继承的情况下找到共性。

另一点:如果您在某些地方需要一些继承(在某些情况下它很棒,例如 GUI),通常您会发现您可以轻松地在您的“简单”之间进行互操作' 对象/类,以及其他更复杂和更重的。 IOW:不要试图找到一个可以满足您所有需求的框架并将其用于所有事情;而是使用您每时每刻都感觉更舒服的那个,只要它有助于解决特定问题。

关于javascript - 这是做 JS OOP 的好方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1263112/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com