as3.0类成员的访问控制符

本文深入探讨了AS3.0中的访问控制符,包括internal、public、private和protected,详细解释了它们的使用场景及作用,帮助开发者更好地理解和运用这些控制符,实现更为灵活的访问控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 
 

        在AS3.0中,访问控制符共有4个,它们分别昌:public、private、protected和internal。它们都是通过AS3内置的namespace(命名空间)实现的。除了使用这四个访问控制符外,还可以通过namespace实现自定义的命名空间来实现更为灵活的访问控制。访问控制符要放在每一个类成员的前面,每个访问控制符只控制跟在自己后面的那个类成员,不可以同是控制多个。它不仅控制实例属性和方法,也控制静态属性和方法。

1、internal包内访问        如果一个类成员前面没有加任何访问控制符,那么它的访问控制符就是internal,它表示在包的内部,只要是和当前类在同一个包中的其他类都可以访问这个类成员。换句话说,两个类如果拥有相同的包声明,那么这两个类都可以访问彼此的internal成员,这就好比对同包的类,internal成员相当于public,对非同包的类相当于privte。所以internal称为包内访问。        使用internal控制符,其实质是对封装思想和package模块化思想的具体体现,将package内部类成员互动对外隐藏,即封装,默认情况下同一包中的类可以共同协作,对internal类成员可以相互访问,但对包外部限制了访问。因此对于需要相互协作的类可以把它们放到同一个包中,将需要互相访问的类成员设置为internal或干脆不设置访问控制符。

2、public完全公开        在类的成员前使用public访问控制符,则表示的有类都可以访问这个类中的这些public类成员,也就是说,在任何地方、任何对象都可以访问这些类成员。public的类成员可以看成是这个类对外部做出的承诺,一旦决定日后不能轻易更改。        一旦发现某个类成员需要被外部频繁访问,就要先考虑这个类员的设计是否不当,可否独立出来,再考虑可否归入那些需要频繁访问的包中,使用internal级别来实现,最后再考虑使用public来实现。总之,尽量将类成员的访问权限控制到最低限度,这在日后的修改、维护代码时将带来最大的自由。

3、private私有成员        private修改的类成员,称为私有成员,它在as3中是访问控制严格的。除了当前类中的成员,所有其他的类的方法都不可以访问到该成员,即使是在同一个包中的类或者该类的子类也不可以访问到。        使用private成员时需要注意的一点是,对于复杂数据类型的属性,private的封装只是说不能通过当前类的实例来访问,并不意味着这个属性持有的引用所指向的对象不能被访问。private中是限制了直接访问实例私有成员,却不能阻止用引用业访问私服属性指向的对象。

4、protected子类可访问         protected访问控制符修饰的类成员只能被当前类和当前类的子类访问。它和package没有关系,即使当前类和子类不在同一个包中,也可以访问到protected类的成员,如果不是当前类的子类,那么protected 和private是一样的。

转载于:https://www.cnblogs.com/kangkangblog/articles/2782525.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值