好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > ruby 面向對象思維 概念

ruby 面向對象思維 概念

熱門標簽:征服者企業地圖標注 巫師3地圖標注魔力之所 AI電銷機器人 線路 中牟外呼系統違法嗎 天津外呼系統怎么收費 漯河電銷 柯城手機地圖如何做地圖標注 外呼線路從哪里出來的 淮安自動外呼系統供應商
面向對象是一個挺讓人迷惑的措辭.叫一切東西都是面向對象會讓別人覺得你很時髦. Ruby 聲稱自己是面向對象的腳本語言;但究竟什么才是"面向對象"? 

我們已經有了各種各樣的答案,但所有這些恐怕都歸結于同一件事.與其快速地概括它,不如讓我們先花點兒時間考慮一下傳統的編程模式.

傳統意義上,一個編程問題從出現的各種數據,以及處理數據的過程(procedures)著手.在這一模式下,數據是呆板,被動和無用的;它完全的求助于那個體積龐大的,主動的,邏輯性的,全能的過程體.

這一做法的問題在于程序是由程序員寫的,而他們僅僅能在工作中記下為數不多的細節.而隨著工程的加大,它的核心也增長到難以記住整個工程是如何工作.細微的失誤和敲打錯誤變得越來越容易造成難以發現的臭蟲(bugs).繁雜和意外的干擾開始在核心內出現,維護也變得像企圖抓住一只憤怒的烏賊還要不讓它的觸須碰到你臉.當然,對于傳統方法,我們也有很多指導你去縮小和檢測這些臭蟲的方法,但更好的解決方法是徹底的改變我們的工作方式.

而面向對象所做的就是讓我們將現實的,重復性的邏輯工作交給數據本身;它將我們對數據的概念從被動變為主動.換種說法:

  • 我們不再讓數據像一個開口的盒子一樣讓我們隨意地伸手進去并取出東西. 
  • 我們將其看作一個封口的并帶有開關和刻度盤的機器. 

上面所說的"機器"的內部可能相當簡單或者復雜;我們不能從外面窺視,我們也不能允許自己打開機器外殼(除非我們確實發現其中有誤),因此我們只需要通過撥動開關,讀取刻度來操作數據.機器一旦建好,我們便不再必須考慮它是如何運轉.

也許,你會覺得這是在無端的增加自己的工作量,但這一方法可以讓我們有效避免事情向壞的方向發展.

讓我們從一個簡單的毫無實際價值卻至少能說明部分概念的例子開始.你的汽車有個計程器.它的工作就是記錄從上次復位以來的行車路
程.我們將如何用編程語言建模?在C里面,這個計程器也許就是個數值變量,大概是float類型的.這個程序會通過每隔一定的行程增加它的值,在合適的時候也會復位為零.哪里會出問題呢?程序里的一個臭蟲會無端的向這個變量賦一個偽值,這可以由某些未預料到的原因而發生.任何有過C編程經驗的人都會知道那會花掉數小時或數天來除掉這個當找出時簡單得荒唐無比的臭蟲.(找出它的那一刻往往會使勁地拍拍前額)

同樣的問題在使用面向對象時會從一個截然不同的角度著手.當設計它時,程序員會問的頭一件事不會是"什么是最類似它的數據類型?"而是"究竟這玩意兒是干什么的?"這不同之處引出了一個稍帶難度的東西.我們需要花點兒時間確定到底計程器是用來干什么的,外部世界希望怎樣操縱它.然后我們決定構造一個允許我們增加,復位,讀值的小機器,再就沒別的了.

我們并未提供一種用于向計程器賦任意值的方法:為什么?因為我們都知道計程器不是那樣工作的.你只能向計程器做那定義好的幾件事,而且是那些允許我們去做的事.因此,如果程序里的別的什么東西錯誤地向其賦值(比如,車的溫度控制器),這立刻意味著錯誤的發生.當運行它的時候(或者當編譯時,視語言的性質而定)我們便會被告之禁止向計程器這個對象賦任意值.給出的消息也許并非如此清楚,但它應該接近其真實原因.這并不防止錯誤的發生,是吧?但它很快給我們直接指出了問題所在.這只是OO編程會為我們節約很多時間的許多方法中的一個.

一般的,我們會考慮將上面的那玩意兒抽象化,因為建個工廠來造機器比一個個單獨地造要簡單的多.我們不希望直接的造單獨的計程器;
換句話,我們希望所有的計程器都能由一個模型造出.這個模式(如果你喜歡,叫它計程器工廠)對應于我們所稱的一個類,每一個由它生成的單獨的計程器(或由工廠造出)對應于一個對象.許多面向對象的語言要求我們在擁有一個新的對象之前定義它的類,但Ruby不是如此.

當然運用面對對象語言并不意味著就會有好的面對對象設計.實際上,用任何語言都有寫出模糊,粗心,多蟲,低造詣及不穩定的代碼.Ruby能為你做的(作為反例,特別是C++)是讓OO編程的實踐足夠自然,即使你僅僅在小范圍內使用也不會感到必須憑借丑陋的代碼去提高效率.我們將會隨著這本手冊深入地討論Ruby實現這些預定目標的機制;下一章將是"開關和刻度表"(對象方法),然后我們將討論到"工廠"(類).你還會跟我們來嗎?
您可能感興趣的文章:
  • Ruby面向對象編程中類的方法與類的擴展
  • Ruby面向對象編程中類與方法的基礎學習
  • 簡要解讀Ruby面向對象編程中的作用域
  • Ruby的面向對象方式編程學習雜記
  • Ruby的面向對象編程的基礎教程
  • Ruby面向對象編程詳解
  • Ruby 面向對象知識總結

標簽:內江 棗莊 克拉瑪依 南昌 大慶 西雙版納 甘孜 河池

巨人網絡通訊聲明:本文標題《ruby 面向對象思維 概念》,本文關鍵詞  ruby,面向,對象,思維,概念,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ruby 面向對象思維 概念》相關的同類信息!
  • 本頁收集關于ruby 面向對象思維 概念的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美jizzhd欧美精品巨大| 性船欧美无删减高清在线观看| 午夜诱惑福利| 大炕上的肉伦第二部| 少妇自慰免费看无码专区| 男生寝室里颤抖到高潮H小说| 啊灬啊灬啊灬快灬高潮了女影院| 中文字幕精品久久| 131美女做爰视频网站| 黑料爆料一区二区三区| 99re热这里只有精品18| 99热精品成人免费观看| 扒开双腿狂躁到爽流水视频色情| 肉黄暴高h男男v文| 娇妻在上司的胯下娇吟电影| 给娇妻找单男的真实小说| 公交h文| 特级黄色毛片| 好大好硬好深好爽想要文章| 按摩精油三级| 扒开衣服吃胸摸下面亲吻摸| 17.c-起草红桃国际| 91精品婷婷国产综合久久蝌蚪| 黄蓉淫| 婺源县| 邻居夫妇的交换4| 晓雪老师我要进你里面好爽| 娇乳被揉捏着猛烈喷潮抽搐| 按摩xxxx全套视频| 黄色一级片段| 岫岩| 国产区图片区小说区亚洲区| 中国黄色一级毛片| 久久久久久久精品国产亚洲87| 叔叔的女人| 免费九九视频| 国产伦子伦一级A片在线| 亚洲综合色一区| 免费色片网站| 国产?无码?高潮电影欲动| JIZZ国产18丝袜老师女人|