一直以来对命名空间都比较迷茫,看书也是一知半解,今天又看了一遍帮助文档。慢慢有一点点理解了。
帮助文档:通过命名空间可以控制所创建的属性和方法的可见性。请将 public、private、protected 和 internal 访问控制说明符视为内置的命名空间。如果这些预定义的访问控制说明符无法满足您的要求,您可以创建自己的命名空间。
我的理解:以上四种访问控制不能实现的情况,可以自定义访问控制说明符,这就是命名空间。反过来说,命名空间就是一种自定义的访问控制说明符。
以下实例来自帮助文档:(自己修改了一点点)
1. 定义命名空间
package example
{
//公共的命名空间
public namespace myInternal= "http://www.adobe.com/2006/actionscript/examples";
}
2. 将方法和属性存入命名空间。使用时只需要打开命名空间却可
package example.alpha
{
import example.myInternal;
/**
* ...
* @author zkl
*/
public class Utility
{
private static var _taskCounter:int = 0;
private static var _s:String="未定义";
public static function someTask():void {
_taskCounter++;
}
//将静态属性存入命名空间
myInternal static function get taskCounter():int{
return _taskCounter;
}
myInternal static function get wk():String {
return _s;
}
myInternal static function set wk(s:String):void {
_s = s;
}
//将静态方法存入命名空间
myInternal static function vars():void {
trace(_s);
}
//将实例方法存入命名空间
myInternal function f():void {
trace("实例方法");
}
}
}
3. 使用命名空间
package
{
import flash.display.MovieClip;
import example.myInternal;
import example.alpha.Utility;
/**
* ...
* @author zkl
*/
public class NamespaceUseCase extends MovieClip
{
private var u:Utility = new Utility;
public function NamespaceUseCase() {
//打开命名空间
use namespace myInternal;
//使用命名空间
Utility.someTask();
Utility.someTask();
trace(Utility.taskCounter);
//Utility.wk="我靠";
Utility.vars();
u.f();
}
}
}
上面的使用其他访问控制说明符也应该可以实现,这里只是展示怎么使用命名空间。
分享到:
相关推荐
C++命名空间理解及小结,命名空间的使用方法。
PHP命名空间的使用,PHP命名空间实例 PHP命名空间简单案例,主要在于理解命名空间的使用方法
ROS命名空间,在我的理解就是我们在一个范围下(这个范围就是指的是命名空间)建立变量,节点等。这些变量,节点的有效范围就是他所在的命名空间。一般默认的是全局空间,即变量,节点全局有效。就像c++中的name ...
看过一些初级C#教程,对基本语法,三大结构理解没有困难的人员。学习过其它语言,想转入到C#进行学习的人员。
入门C#命名空间必知必会; 真正理解案例集合2022-1; 通用地基类型,新手一看就明白!
通俗的来说,Python中所谓的命名空间可以理解为一个容器。在这个容器中可以装许多标识符。不同容器中的同名的标识符是不会相互冲突的。理解python的命名空间需要掌握三条规则: 第一,赋值(包括显式赋值和隐式赋值...
主要介绍了C# 命名空间(Namespace)的相关知识,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以参考下
全局变量和局部变量是我们理解命名空间的开始,我们先来看一段代码: x = 2 def func(): x = 3 print('func x ---> ',x) func() print('out of func x ---> ',x) 这段代码输出的结果如下: func x —> 3 ...
主要介绍了Python利用命名空间解析XML文档,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
Python命名空间和作用域 总结 emmm,这一块讲了2个内容,一个是命名空间,一个是作用域。一个一个说吧 命名空间 A namespace is a mapping from names to objects.Most namespaces are currently implemented as ...
命名空间解决的问题(手册上也写的很清楚,下面按照自己的理解简化了): 1:解决程序编写者自己写的类、常量、函数和php内部的或者第三方的出现名称冲突的情况。 2:创建别名,帮助解决类、常量、函数名称过长的...
主要介绍了深入理解Python中命名空间的查找规则LEGB,作者根据Python3.x版本进行讲解,需要的朋友可以参考下
此示例有助于理解 IDesign 提出的命名空间和文件夹结构指南。 我试图将该样本基于许多 IDesign 校友都知道的VirtualTradeMe样本。 该示例不是一个工作应用程序,而只是一个骨架。 (也许这个骨架可以填充实际的、...
本文介绍了django反向解析URL和URL命名空间,分享给大家,具体如下: 首先明确几个概念: 1.在html页面上的内容特别是向用户展示的url地址,比如常见的超链接,图片链接等,最好能动态生成,而不要固定. 2.一个django...
PHP的命名空间(namespace)是PHP 5.3中加入最重要的一个新特性,这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的。 一. PHP的命名空间主要解决三种冲突的问题:常量,函数,类 通俗理解:...
主要介绍了PHP 命名空间(namespace)的的相关资料,文中讲解非常详细,实例代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
基于Pytorch机器阅读理解bert_mrc的命名实体识别源码+使用说明+模型+数据.zip 使用的数据集是MSRA,预训练模型是roberta。数据和训练好的模型: 链接:https://pan.baidu.com/s/1XzoZDaZdmtwrEENBNseX5g <br> 提取码...
BEM Constructor 是一个 Sass 库,用于构建不可变和命名空间 BEM 样式的 CSS 对象。 通过实施一致的编程方式来定义对象(块、元素和修饰符),它确保了一个更结构化、更健壮和更安全的对象代码库,并且易于理解和...