偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Ruby對(duì)象初始化方法介紹

開(kāi)發(fā) 開(kāi)發(fā)工具
Ruby對(duì)象初始化的實(shí)現(xiàn)可以用多種方式來(lái)實(shí)現(xiàn),其實(shí)現(xiàn)的方法也很簡(jiǎn)單,方便初學(xué)者學(xué)習(xí),掌握。希望本文介紹的內(nèi)容能對(duì)大家有所幫助。

Ruby語(yǔ)言使用中完全面向?qū)ο蟮慕忉屝湍_本語(yǔ)言,其特點(diǎn)在于沒(méi)有函數(shù),只有各種方法。在這里,我們將會(huì)看到Ruby對(duì)象初始化的一些方法介紹。#t#

Ruby對(duì)象初始化之initalize方法

當(dāng)Ruby創(chuàng)建一個(gè)新對(duì)象時(shí),它總是會(huì)尋找一個(gè)名為 initialize 的方法并執(zhí)行它.因此,我們可以簡(jiǎn)單通過(guò)一個(gè)initialize方法向?qū)嵶兞恐屑尤肴笔≈?這樣一來(lái), inspect方法就有東西可說(shuō)了.

 

  1. ruby> class Fruit  
  2. | def initialize  
  3. | @kind = "apple" 
  4. | @condition = "ripe" 
  5. | end  
  6. | end  
  7. nil  
  8. ruby> f4 = Fruit.new  
  9. "a ripe apple" 

將缺省的變?yōu)樾枰?/strong>

很多時(shí)候,缺省值不會(huì)有太多的意思.真的是缺省那樣的水果嗎?也許在創(chuàng)造水果的時(shí)候?qū)ζ漕愋妥饕笫莻€(gè)更好的辦法.要這樣做,我們就必須給initialize 方法加入一個(gè)正式的參數(shù).因?yàn)橐恍┎粫?huì)在此提及的原因,你向 new 傳遞的參數(shù)實(shí)際上是遞給了initialize.

 

  1. ruby> class Fruit  
  2. | def initialize( k )  
  3. | @kkind = k  
  4. | @condition = "ripe" 
  5. | end  
  6. | end  
  7. nil  
  8. ruby> f5 = Fruit.new "mango"  
  9. "a ripe mango"  
  10. ruby> f6 = Fruit.new  
  11. ERR: (eval):1:in `initialize'
    : wrong # of arguments(0 for 1) 

彈性的Ruby對(duì)象初始化

上面我們看到一旦一個(gè)參數(shù)被關(guān)聯(lián)到一個(gè) initialize 方法上,就無(wú)法在避免錯(cuò)誤產(chǎn)生的情況下將其省掉.如果希望考慮周全,我們可以在給了參數(shù)的情況下使用它,否則使用缺省值.

 

  1. ruby> class Fruit  
  2. | def initialize( k="apple" )  
  3. | @kkind = k  
  4. | @condition = "ripe" 
  5. | end  
  6. | end  
  7. nil  
  8. ruby> f5 = Fruit.new "mango"  
  9. "a ripe mango"  
  10. ruby> f6 = Fruit.new  
  11. "a ripe apple"  
  12.  

 

可以在任何方法內(nèi)使用缺省參數(shù),而不僅僅是initialize.參數(shù)表(argument list)必須以有缺省值的參數(shù)結(jié)尾.

有時(shí),提供多種Ruby對(duì)象初始化方法是有益的.雖然已超出本教程的范圍,但Ruby提供了對(duì)象映象(object reflection)和可變長(zhǎng)度的參數(shù)表(variable-length argument lists),這些都有效地促進(jìn)了方法重載.

責(zé)任編輯:曹凱 來(lái)源: ddvip.com
相關(guān)推薦

2009-07-31 17:51:27

C#對(duì)象初始化

2009-08-24 18:01:45

C#3.0新特性

2011-06-17 15:29:44

C#對(duì)象初始化器集合初始化器

2012-05-23 12:46:53

JavaJava類

2009-08-27 10:31:39

C#對(duì)象初始化器

2010-01-05 15:35:21

.NET Framew

2012-02-28 10:04:09

Java

2009-08-26 15:28:52

C#對(duì)象集合初始化器

2011-08-15 17:52:21

iPhone應(yīng)用對(duì)象NSString

2023-11-12 23:08:17

C++初始化

2010-01-13 18:01:43

VB.NET數(shù)組初始化

2015-10-30 09:51:19

Java重寫初始化隱患

2010-02-01 14:21:24

C++初始化列表

2010-01-22 15:47:37

VB.NET初始化網(wǎng)格

2009-05-20 10:58:15

數(shù)據(jù)庫(kù)查詢初始化

2024-08-14 17:21:34

2009-12-17 17:13:23

Ruby for Ec

2009-12-14 16:26:40

Ruby復(fù)制文件

2009-12-15 15:19:30

Ruby訪問(wèn)控制

2009-12-15 11:31:53

Ruby self
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)