卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

Ruby訪問控制

本電子書由站長百科(www.zzbaike.com)教程組制作Ruby 訪問控制? 出處:站長百科?? 原文地址:?查看內(nèi)容請訪問網(wǎng)站。?? 本電子書整理自站長百科詞條,首家推出中文網(wǎng)站() 的美國主

本電子書由站長百科

(www.zzbaike.com)教程組制作

Ruby 訪問控制

? 出處:站長百科?

? 原文地址:?

查看內(nèi)容請訪問網(wǎng)站。?? 本電子書整理自站長百科詞條,

首家推出中文網(wǎng)站() 的美國主機商 無限空間 無限流量 贈送15個獨立IP 及 3個免費域名 免備案 支付寶付款方便快捷 中文客服全程服務(wù) 省錢大攻略: 為您省多多

前面,我們說Ruby 沒有函數(shù),只有方法.而且實際上有不止一種方法.這一節(jié)我們介紹訪問控制(access controls).

想想當(dāng)我們在"最高層"而不是在一個類的定義里定義一個方法時會發(fā)生什么.我們可以把這樣的方法設(shè)想為在像C 那樣的傳統(tǒng)語言中的函數(shù)的類似物.

ruby> def square(n)

| n * n

| end

nil

?

?

?

出處:站長百科?原文地址:?本電子書整理自站長百科Ruby ‐訪問控制詞條,查看內(nèi)容請訪問網(wǎng)站。?

,

本電子書由站長百科(www.zzbaike.com)教程組制作

ruby> square(5)

25

我們的新方法看起來不屬于任何類,但實際上Ruby 將其分給Object 類,也就是所有其它類的父類.因此,所有對象現(xiàn)在都可以使用這一方法.這本應(yīng)是正確的,但有個小陷阱:它是所有類的私有(private)方法.我們將在下面討論這是什么意思,但一個結(jié)果是它只能以函數(shù)的風(fēng)格調(diào)用,像這樣:

ruby> class Foo

| def fourth_power_of(x)

| square(x) * square(x)

| end

| end

nil

ruby> Foo.new.fourth_power_of 10

10000

我們不允許向一個對象明確地運用這一方法:

?

?

?

出處:站長百科?原文地址:?本電子書整理自站長百科Ruby ‐

訪問控制詞條,查看內(nèi)容請訪問網(wǎng)站。?

,

本電子書由站長百科(www.zzbaike.com)教程組制作

ruby> "fish".square(5)

ERR: (eval):1: private method `square' called for "fish":String

這一聰明的做法在 ruby 使得提供可以像在傳統(tǒng)語言中那樣運用函數(shù)的同時保持了 ruby 的純OO 性質(zhì)(函數(shù)仍是對象方法,但接受者隱式的為self).

在OO 編程里,有一個不成文的習(xí)慣,我們在前面的章節(jié)里有所暗示的,即有關(guān)規(guī)格(specification)和實現(xiàn) (implementation)的區(qū)別,或者說對象被要求完成什么任務(wù)和實際上它是怎樣完成的.對象的內(nèi)部工作應(yīng)該對用戶保持隱蔽;他們應(yīng)該只關(guān)心輸入什么和輸出什么,并相信對象知道它在內(nèi)部是在做什么.如此,某些外面世界看不見但卻在內(nèi)部使用(并可以由程序員在任何需要的時候改進,而不用改變用戶看到的類的對象)的方法將很有用.在下面這個普通的例子里,你可以把engine 看作類的內(nèi)部隱式方法.

ruby> class Test

| def times_two(a)

| print a," times two is ",engine(a),"n"

| end

?

?

?

出處:站長百科?原文地址:?本電子書整理自站長百科Ruby ‐

訪問控制詞條,查看內(nèi)容請訪問網(wǎng)站。?

,

本電子書由站長百科(www.zzbaike.com)教程組制作

| def engine(b)

| b*2

| end

| private:engine # this hides engine from users | end

Test

ruby> test = Test.new

#

ruby> test.engine(6)

ERR: (eval):1: private method `engine' called for #

ruby> test.times_two(6)

6 times two is 12.

nil

開始時,我們本希望test.engine(6)返回12,但隨后當(dāng)我們扮演一個Test 對象用戶時我們了解到engine 是不可訪問的 ?

?

?

出處:站長百科?原文地址:?本電子書整理自站長百科Ruby ‐

訪問控制詞條,查看內(nèi)容請訪問網(wǎng)站。?

,

本電子書由站長百科(www.zzbaike.com)教程組制作

(inaccessible).只有Test 的其它方法,像 times_two可以使用 engine.我們被要求保持程序的外部接口,也就是 times_two這些方法.管理此類的程序員可以自由的更改engine(這里,可能把b*2改為b b,假設(shè)這樣可以提高性能)而不影響用戶與 Test 對象打交道.這個例子當(dāng)然過于簡單;訪問控制的優(yōu)點只有當(dāng)我們開始寫更復(fù)雜和有趣的類時方能顯現(xiàn)出來.

更多電子書

SEO 方面的知識有很多,對于新手來說,如果你不知道,不清楚這方面的知識,那么,你可以看看這兩部搜索引擎指南:

SEO 搜索引擎優(yōu)化基礎(chǔ)教程:

SEO 搜索引擎優(yōu)化高級教程:

wordpress的中文翻譯文檔:http://www.wordpress.la/codex.html,wordpress 開發(fā)的相關(guān)知識都有,對WordPress開發(fā)感興趣的博主會有一定的用處。

WordPress免費主題:http://www.wordpress.la/theme.html

WordPress免費插件:http://www.wordpress.la/plugin.html

WordPress 主題制作電子書:

Apache2.2中文文檔電子書:

IXWeHosting 控制面板使用手冊(在線版 PDF電子書) :

?

?

?

出處:站長百科?原文地址:?本電子書整理自站長百科Ruby ‐

訪問控制詞條,查看內(nèi)容請訪問網(wǎng)站。?

,

本電子書由站長百科(www.zzbaike.com)教程組制作

更多電子書下載:http://down.zzbaike.com/ebook/

視頻教程:

1. 美國主機IXWebHosting 使用視頻教程(在線觀看及下載)

2. Godaddy 主機及域名使用視頻教程(在線觀看及下載)

如果您有站長類電子書,請到這里與我們分享:

詳情見: http://bbs.zzbaike.com/thread-23156-1-1.html

站長百科感謝您下載閱讀,多謝支持!

?

?

?

出處:站長百科?原文地址:?本電子書整理自站長百科Ruby ‐

訪問控制詞條,查看內(nèi)容請訪問網(wǎng)站。?

標簽: