1.可见性(visibility):
定义:可见性是一个对象看见或引用其他对象的能力。
2.准则:为了使对象A可以向对象B发送消息 ,对于A而言,B必须是可见的。
(一)属性可见性(attribute visibility)
当B作为A的属性时,存在A到B的属性可见性——相对持久
e.g.
(二)参数可见性(parameter visibility)
(1)当B作为参数传递给A的方法时,存在A到B的参数可见性——相对短暂(∵只在方法的范围内存在)
e.g.
(2)可以将参数可见性转化为属性可见性。E.g.在上图中,Sale将ProductDescription传递给SalesLineItem的初始化方法,在初始化方法中,将参数分配给属性,以此建立起属性可见性。
(三)局部可见性(local visibility)
1.当B被声明为A的方法内的局部对象时,存在A到B的局部可见性——相对临时(∵仅存在于方法的范围内)
e.g.
![]() |
2.实现局部可见性的两种常见方式:
(1)创建新的局部实例并将其分配给局部变量;
(2)将方法调用返回的对象分配给局部变量。
e.g.
![]() |
(四)全局可见性(global visibility)
1.当B对于A是全局时,存在A到B的全局可见性——相对持久
2.实现全局可见性的首选方法是使用单实例类模式
整理不易,亲亲点个赞呗~~