Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class 类、接口、原型等_Class_Oop_Interface_Prototype - Fatal编程技术网

Class 类、接口、原型等

Class 类、接口、原型等,class,oop,interface,prototype,Class,Oop,Interface,Prototype,我正在创建一个JavaScript框架,用于在经典的面向对象编程中创建应用程序(因此使用类/接口,而不仅仅是原型)。然而,我仍然有一个问题给那些名字 例如: var Bidule = function() { /*...*/ } ; Bidule.prototype = { /*...*/ } ; Bidule是一个OOP类吗?作为一个类,它是一个构造函数吗?或者它只是一个构造函数? 由于类没有原型,我认为它不能称为真正的类 这意味着我应该称他们为“构造器”。但是,接口或抽象类呢?如果他们不是

我正在创建一个JavaScript框架,用于在经典的面向对象编程中创建应用程序(因此使用类/接口,而不仅仅是原型)。然而,我仍然有一个问题给那些名字

例如:

var Bidule = function() { /*...*/ } ;
Bidule.prototype = { /*...*/ } ;
Bidule是一个OOP类吗?作为一个类,它是一个构造函数吗?或者它只是一个构造函数? 由于类没有原型,我认为它不能称为真正的类

这意味着我应该称他们为“构造器”。但是,接口或抽象类呢?如果他们不是构造器,正确的词是什么?接口是一种类吗

我在我的框架中设计了构造函数、类和接口。但是,我需要一个名称来重新组合所有主题,以便我们可以构建如下其中之一:

var Bidule = new _NAME_.Class(/*...*/) ; // Where _NAME_ is the name of the container of class/function/interface.
我在想“概念”,但我不确定,我想知道你的意见


我还将“可见性”命名为描述公共/私有类的常用词, 静态/抽象/接口/单例/最终类的“类型”。这些是正确的吗


还有最后一个问题:动词“extend”和“inherit”之间有区别吗


提前感谢您的回答。

Javascript不是传统的OO语言,它是原型语言。由于这个原因,一些关于OO的概念不能应用于js

Bidule
是你的类型,所以它是你的“类”。构造函数是分配给变量的函数

var Bidule = function() { /*...*/ } ;
Bidule.prototype = { /*...*/ } ;

var obj = new Bidule();
obj.foo = 'bar';

var obj2 = new Bidule();
obj2.foo = 'foo';

alert(obj instanceof Bidule); // true
alert(obj2 instanceof Bidule); // true
alert(obj.foo); // bar
alert(obj2.foo); // foo
Javascript不支持抽象类或接口,不,接口不是某种类型的类。接口定义契约,或类所做的事情,但不指定方式


扩展和继承在此上下文中具有相同的含义。

Javascript不是传统的OO语言,它是原型语言。由于这个原因,一些关于OO的概念不能应用于js

Bidule
是你的类型,所以它是你的“类”。构造函数是分配给变量的函数

var Bidule = function() { /*...*/ } ;
Bidule.prototype = { /*...*/ } ;

var obj = new Bidule();
obj.foo = 'bar';

var obj2 = new Bidule();
obj2.foo = 'foo';

alert(obj instanceof Bidule); // true
alert(obj2 instanceof Bidule); // true
alert(obj.foo); // bar
alert(obj2.foo); // foo
Javascript不支持抽象类或接口,不,接口不是某种类型的类。接口定义契约,或类所做的事情,但不指定方式


“扩展”和“继承”在本文中具有相同的含义。

谢谢您的回答。所以,如果Bidule是一种类型,我应该如何调用“static/abstract/interface/singleton/final”?类的“属性”?Final、static和abstract是类的修饰符。接口是类在实现它时将签署的契约。Singleton是一种为整个应用程序提供单一对象实例的设计模式。当然,只要按一个键,我就可以切换到这五个字中的一个。但你回答了我的问题再次感谢!谢谢你的回答。所以,如果Bidule是一种类型,我应该如何调用“static/abstract/interface/singleton/final”?类的“属性”?Final、static和abstract是类的修饰符。接口是类在实现它时将签署的契约。Singleton是一种为整个应用程序提供单一对象实例的设计模式。当然,只要按一个键,我就可以切换到这五个字中的一个。但你回答了我的问题再次感谢!