Rubyæ¯ä¸ä¸ªå®ç¾çé¢å对象ç¼ç¨è¯è¨ãæ¥æé¢å对象çç¼ç¨è¯è¨çåè½ï¼å
æ¬ï¼
1ãæ°æ®å°è£
2ãæ°æ®æ½è±¡
3ãå¤ææ§
4ã继æ¿
è¿äºåè½å·²å¨è®¨è®ºé¢å对象Ruby
é¢å对象çç¨åºæ¶åç±»å对象ã ä¸ä¸ªç±»æ¯èæ¬ï¼ä»ä¸ªå«å¯¹è±¡è¢«å建ãå¨é¢å对象çæ¯è¯ï¼æ们说å°æçèªè¡è½¦æ¯è¢«ç§°ä¸ºèªè¡è½¦ç±»ç对象å®ä¾ã
ä»»ä½è½¦è¾çä¾åãå®å
æ¬è½®åï¼é©¬åï¼çæ²¹æçæ°ç½å®¹éãè¿äºç¹ç¹å½¢æç类车è¾çæ°æ®æåãå¯ä»¥ä»å
¶ä»è½¦è¾åºåè¿äºç¹å¾ã
车è¾ä¹æä¸å®çåè½ï¼å¦åæ¢ï¼é©¾é©¶ï¼è¶
é驾驶ãå³ä½¿è¿äºåè½å½¢æç类车è¾çæ°æ®æåãå æ¤ï¼å¯ä»¥å®ä¹ä¸ä¸ªç±»ä½ä¸ºä¸ä¸ªç»åçç¹ç¹ååè½ã
车è¾ç±»å¯ä»¥è¢«å®ä¹ä¸ºï¼
Class Vehicle
{
Number no_of_wheels
Number horsepower
Characters type_of_tank
Number Capacity
Function speeding
{
}
Function driving
{
}
Function halting
{
}
}
éè¿è¿äºæ°æ®æååé
ä¸åçå¼ï¼å¯ä»¥å½¢æ类车è¾çå 个å®ä¾ãä¾å¦ï¼é£æºçæä¸ä¸ªè½®åï¼1,000马åï¼ä¸åççæç½å容é为100åãåæ ·çæ¹å¼ï¼ä¸è¾æ±½è½¦æå个轮åï¼200马åï¼æ°ä½ä½ä¸ºä¸åçç½å容é25åã
Rubyä¸å®ä¹ä¸ä¸ªç±»:
è¦éè¿ä½¿ç¨Rubyå®ç°é¢å对象ç¼ç¨ï¼éè¦å
å¦ä¹ å¦ä½å建对象åRubyä¸çç±»ã
Rubyä¸ä¸ä¸ªç±»æ»æ¯ä»¥å
³é®åclassç±»çå称å¼å¤´ãå称åºå§ç»ä»¥é¦åæ¯å¤§åãå¦ä»¥æ¯Customerç±»å¯ä»¥æ¾ç¤ºä¸ºï¼
class Customer
end
ç±»å®ä¹ç»æéè¿ä½¿ç¨å
³é®åendç»æãå¨ç±»çæææ°æ®æåæ¯ç±»ä¹é´çå®ä¹ï¼å¹¶ä»¥endå
³é®åä½ä¸ºç»æ符ã
Rubyç±»ä¸çåé:
Rubyæä¾äºåç§ç±»åçåéï¼
å±é¨åé: å±é¨åéæ¯å¨ä¸ä¸ªæ¹æ³ä¸å®ä¹çåéãå±é¨åéæ¯ä¸å¯ç¨çæ¹æ³å¤ãæ´å¤ç»èå¨éåçç« èä¸çæ¹æ³ä¸ä¼ä»ç»ãå±é¨åéä¸è¬ä»¥å°ååæ¯æ_å¼å¤´ã
å®ä¾åé: å®ä¾åéæ¯å¯è·¨è¶ä»»ä½ç¹å®å®ä¾æ对象çæ¹æ³ãè¿æå³çï¼ä»å¯¹è±¡å°å¯¹è±¡çå®ä¾åéæ¹åãå®ä¾åéåé¢å ä¸at符å·ï¼@ï¼ï¼è·çåéåã
ç±»åéï¼ç±»åéæ¯å¯å¨åç§ä¸åç对象ã ä¸ä¸ªç±»åéå±äºç±»ï¼æ¯ç±»çä¸ä¸ªç¹ç¹ãä»ä»¬åé¢ç符å·@@è·ççåéåã
å
¨å±åé: ç±»åéæ¯ä¸è½è·¨ç±»ãå¦ææ³è¦ä¸ä¸ªåä¸çåéå¯ä»¥è·¨ç±»ï¼éè¦å®ä¹ä¸ä¸ªå
¨å±åéãå
¨å±åéçåé¢æ»æ¯ç¨ç¾å
符å·ï¼$ï¼ã
ä¾å:
使ç¨ç±»åé@@no_of_customersï¼è½ç¡®å®å建ç对象çæ°éãè¿ä½¿å¾å¯¼åºç客æ·æ°éã
class Customer
@@no_of_customers=0
end
Rubyä¸ä½¿ç¨newæ¹æ³å建对象ï¼
对象æ¯ç±»çå®ä¾ãç°å¨ï¼å°å¦ä¹ å¦ä½å¨Rubyä¸å建对象ä¸ä¸ªç±»å¯¹è±¡ãRubyä¸éè¿ä½¿ç¨newæ¹æ³å建对象ã
newæ¹æ³æ¯ä¸ç§ç¬ç¹çæ¹æ³ï¼è¿æ¯é¢å®ä¹å¨Rubyåºãnewæ¹æ³å±äºç±»çæ¹æ³ã
ä¸é¢çä¾åæ¯å建两个对象类客æ·cust1 å cust2ï¼
cust1 = Customer. new
cust2 = Customer. new
å¨è¿éï¼cust1åcust2æ¯ä¸¤ä¸ªå¯¹è±¡çååãå¨çäºå·ï¼=ï¼ä¹åï¼ç±»å称å°æç
§å¯¹è±¡å称ãç¶åï¼ç¹è¿ç®ç¬¦åå
³é®ånewå¨åé¢ã
èªå®ä¹æ¹æ³æ¥å建Ruby对象 :
å¯ä»¥éè¿newæ¹æ³çåæ°ï¼è¿äºåæ°å¯ä»¥ç¨æ¥åå§åç±»åéã
å½æç®å£°æçnewæ¹æ³å
·æåæ°ï¼éè¦å£°æçæ¹æ³å¨å建类çæ¶ååå§åã
initializeæ¹æ³æ¯ä¸ç§ç¹æ®ç±»åçæ¹æ³ï¼è¯¥æ¹æ³æ¶å°æ§è¡newæ¹æ³ç类被称为åæ°ã
ä¸é¢çä¾åæ¯å建initializeæ¹æ³ï¼
class Customer
@@no_of_customers=0
def initialize(id, name, addr)
@cust_id=id
@cust_name=name
@cust_addr=addr
end
end
å¨è¿ä¸ªä¾åä¸ï¼å¯ä»¥å£°æå±é¨åéçåå§åæ¹æ³id, nameåaddrãè¿édef ç»æ被ç¨æ¥å®ä¹ä¸ä¸ªRubyçæ¹æ³åå§åãè¿äºå°å¨æå
³åç»ç« èä¸äºè§£æ´å¤ã
å¨initializeæ¹æ³ä¸ï¼å¯¹è¿äºå±é¨åéçå¼ä¼ éå°å®ä¾åé@cust_id,@cust_nameå@cust_addrãè¿éçå±é¨åéææçå¼ç±newæ¹æ³ä¸åä¼ éã
ç°å¨å¯ä»¥å建对象ï¼å¦ä¸æ示ï¼
cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")
Rubyä¸ç±»çæåå½æ°:
å¨Rubyä¸ï¼å½æ°è¢«è°ç¨çæ¹æ³ãå¨ä¸ä¸ªç±»ä¸çæ¯ä¸ªæ¹æ³çæ¹æ³åç¨å
³é®ådefå¼å§ã
æ¹æ³åæ»æ¯ä»¥å°ååæ¯æ好ãä½ æç»çæ¹æ³Rubyä¸éè¿ä½¿ç¨å
³é®åend表示ç»æã
ä¸é¢çä¾åæ¯å®ä¹ä¸ä¸ªRubyçæ¹æ³ï¼
class Sample
def function
statement 1
statement 2
end
end
è¿éstatement1åstatement2为å½æ°ä½çä¸é¨åãè¿äºstatmentså¯ä»¥æ¯ä»»ä½ææçRubyè¯å¥ãä¾å¦ï¼æ们å¯ä»¥å¨æ¹æ³ä¸æå°Hello Rubyå¦ä¸ï¼
class Sample
def hello
puts "Hello Ruby!"
end
end
ç°å¨ï¼å¨ä¸é¢çä¾åSampleç±»å建ä¸ä¸ªå¯¹è±¡ï¼å¹¶è°ç¨helloæ¹æ³ï¼çå°çç»æï¼
#!/usr/bin/ruby
class Sample
def hello
puts "Hello Ruby!"
end
end
# Now using above class to create objects
object = Sample. new
object.hello
è¿å°äº§ç以ä¸ç»æï¼
Hello Ruby!
温馨提示:答案为网友推荐,仅供参考