站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
Ruby-类,对象,变量
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
高级
特殊字符
帮助
标题
2级
3级
4级
5级
格式
插入
拉丁字母
扩展拉丁字母
国际音标
符号
希腊字母
希腊字母扩展
西里尔字母
阿拉伯字母
扩展阿拉伯字母
希伯来字母
孟加拉语字符集
泰米尔数字和符号
泰卢固语字符集
僧伽罗语字符集
梵文字符集
古吉拉特语字符集
泰语字符集
老挝语
高棉语字母
加拿大原住民音节文字
卢恩
Á
á
À
à
Â
â
Ä
ä
Ã
ã
Ǎ
ǎ
Ā
ā
Ă
ă
Ą
ą
Å
å
Ć
ć
Ĉ
ĉ
Ç
ç
Č
č
Ċ
ċ
Đ
đ
Ď
ď
É
é
È
è
Ê
ê
Ë
ë
Ě
ě
Ē
ē
Ĕ
ĕ
Ė
ė
Ę
ę
Ĝ
ĝ
Ģ
ģ
Ğ
ğ
Ġ
ġ
Ĥ
ĥ
Ħ
ħ
Í
í
Ì
ì
Î
î
Ï
ï
Ĩ
ĩ
Ǐ
ǐ
Ī
ī
Ĭ
ĭ
İ
ı
Į
į
Ĵ
ĵ
Ķ
ķ
Ĺ
ĺ
Ļ
ļ
Ľ
ľ
Ł
ł
Ń
ń
Ñ
ñ
Ņ
ņ
Ň
ň
Ó
ó
Ò
ò
Ô
ô
Ö
ö
Õ
õ
Ǒ
ǒ
Ō
ō
Ŏ
ŏ
Ǫ
ǫ
Ő
ő
Ŕ
ŕ
Ŗ
ŗ
Ř
ř
Ś
ś
Ŝ
ŝ
Ş
ş
Š
š
Ș
ș
Ț
ț
Ť
ť
Ú
ú
Ù
ù
Û
û
Ü
ü
Ũ
ũ
Ů
ů
Ǔ
ǔ
Ū
ū
ǖ
ǘ
ǚ
ǜ
Ŭ
ŭ
Ų
ų
Ű
ű
Ŵ
ŵ
Ý
ý
Ŷ
ŷ
Ÿ
ÿ
Ȳ
ȳ
Ź
ź
Ž
ž
Ż
ż
Æ
æ
Ǣ
ǣ
Ø
ø
Œ
œ
ß
Ð
ð
Þ
þ
Ə
ə
格式
链接
标题
列表
文件
参考
讨论
说明
输入内容
输出结果
斜体
''斜体文字''
斜体文字
粗体
'''粗体文字'''
粗体文字
粗斜体
'''''粗斜体文字'''''
粗斜体文字
== 设定访问控制 == 在一个类或模块的定义中你可以使用public,protected,private三种方式来设定方法的访问级别,它们的每一种又可以有两种不同的使用方式。<br> 如果不带参数,这三种方式设置随后的方法为默认访问控制,这恐怕是尽人皆知的。如果你是C++或JAVA程序员,你会使用像public这样的关键字来达到同样的效果。<br> class MyClass<br> def method1 # 默认是 'public'<br> #...<br> end<br> protected # 随后的方法是 'protected'<br> def method2 # 这里是 'protected'<br> #...<br> end<br> private # 随后的方法是 'private'<br> def method3 # 这里是 'private'<br> #...<br> end<br> public # 随后的方法是 'public'<br> def method4 # 这里是 'public'<br> #...<br> end<br> end <br> 另一种方式,把方法作为参数列在访问控制后面,来设置这些方法的访问级别。<br> class MyClass<br> def method1<br> end<br> # ... and so on<br> public :method1, :method4<br> protected :method2<br> private :method3<br> end <br> 类的initialize方法自动被声明为私有的。 <br> 现在来看一些例子,假设我们在建模一个记帐系统,每一个借方对应一个贷方,因为我们想确保这个规则不被任何人打破,所以我们把处理借贷业务的方法私有化,然后我们按照事务处理的程序定义我们的外部借口。<br> class Accounts<br> private<br> def debit(account, amount)<br> account.balance -= amount<br> end<br> def credit(account, amount)<br> account.balance += amount<br> end<br> publicv #...<br> def transferToSavings(amount)<br> debit(@checking, amount)<br> credit(@savings, amount)<br> end<br> #...<br> end <br> 保护访问用在当对象需要访问和它同一个类的其它对象的内部状态的时候,例如,我们想要让Account对象之间可以比较它们的余额的差额但又希望把各自的余额隐藏起来(也许是因为我们把它们放在不同的表格中)。<br> class Account<br> attr_reader :balance # 访问方法 'balance'<br> protected :balance # 把它私有化<br> def greaterBalanceThan(other)<br> return @balance > other.balance<br> end<br> end <br> 因为balance方法是保护的,所以它只能被Account类的对象访问。<br>
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)