这是一个在javascript中使用库完成OO结构的示例(非必需,推荐)
//Create and define Global NameSpace Object
( function(GlobalObject, $, undefined)
{
GlobalObject.PublicMethod = function()
{
///<summary></summary>
}
GlobalObject.Functionality = {}
}) (GlobalObject = GlobalObject || {}, jQuery);
//New object for specific functionality
( function(Events, $, undefined)
{
//Member Variables
var Variable; // (Used for) , (type)
// Initialize
Events.Init = function()
{
///<summary></summary>
}
// public method
Events.PublicMethod = function(oParam)
{
///<summary></summary>
///<param type=""></param>
}
// protected method (typically define in global object, but can be made available from here)
GlobalObject.Functionality.ProtectedMethod = function()
{
///<summary></summary>
}
// internal method (typically define in global object, but can be made available from here)
GlobalObject.InternalMethod = function()
{
///<summary></summary>
}
// private method
var privateMethod = function()
{
///<summary></summary>
}
Events.PublicProperty = "Howdy Universe";
}) (GlobalObject.Functionality.Events = GlobalObject.Funcitonality.Events || {}, jQuery )
// Reusable "class" object
var oMultiInstanceClass = function()
{
// Memeber Variables again
var oMember = null; //
// Public method
this.Init = function(oParam)
{
oMember = oParam;
}
}
这样做的优势在于它自动初始化 Global 对象,允许您保持代码的完整性,并根据您的定义将每个功能组织到一个特定的组中。
这个结构很扎实,展示了你对 OOP 的所有基本句法知识,没有关键词。
甚至还有一些巧妙的方法来设置界面。如果您选择走那么远,一个简单的搜索将为您提供一些很好的教程和提示。
甚至可以使用 javascript 和 Visual Studio 设置智能感知,然后定义每个部分并引用它们,从而使编写 javascript 更简洁、更易于管理。
根据您的情况使用这三种方法有助于保持全局命名空间清洁、保持代码井井有条并保持每个对象的关注点分离。如果使用正确。请记住,如果您不利用使用对象背后的逻辑,那么面向对象的设计将毫无用处!