亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Ruby > 正文

Ruby基礎知識之類

2020-10-29 19:40:53
字體:
來源:轉載
供稿:網友

創建類: class后跟類名,其中類名的首字母必須要大寫。實例化時,通過new方法實例化。在c#中有構造器,構造器與類同名。在ruby中,構造器為initialize方法。當通過new方法實例化一個類對象后,會自動調用initialize方法,把new中的參數傳遞給initialize方法進行初始化。在c#中的域,在ruby中稱為實例變量,定義時前邊加@前綴,表示是一個實例變量。

復制代碼 代碼如下:

class Customer
    def initialize(name,age)
      @name,@age=name,age
    end
end
 
c1=Customer.new("Tom",20)

訪問器

實例變量只能通過實例方法來訪問。如果要訪問它們可以提供方法訪問器。在c#中稱為屬性,Java中也是定義方法來表示屬性。

復制代碼 代碼如下:

class Customer
    def initialize(name,age)
      @name,@age=name,age
    end
    
    def name
      @name
    end
    def age
      @age
    end
end

以上定義了兩個方法x,y,它們可以讀@x,@y實例變量。這就定義了讀屬性方法。如果要進行賦值操作,還要定義寫屬性方法:
復制代碼 代碼如下:

    def name=(v)
      @name=v
    end
    def age=(v)
      @age=v
    end

要注意的是:
復制代碼 代碼如下:

c1=Customer.new("Tom",20)
c1.name="Jhon"

只有在實例中才能這樣使用寫屬性。如果在類中,不能通過name=value這樣來代替@name=value。但可以通過self來這樣使用:self.name=value
Ruby提供了簡化定義屬性方法:attr_reader和attr_accessor。后邊跟符號,會自動創建同名的讀寫屬性。
復制代碼 代碼如下:

class Customer
    def initialize(name,age)
      @name,@age=name,age
    end 
 
    attr_reader :name,:age
    attr_accessor:name,:age
end
c1=Customer.new("Tom",20)
puts c1.name,c1.age
c1.name="Jhon"
c1.age=30
puts c1.name,c1.age

類變量,常量,類方法
類變量以@@開頭;常量通過[類名+::常量名]進行訪問;類方法在實例方法方法名前加類名。在定義類方法時,可以采用一種方式:
復制代碼 代碼如下:

class<<self
       def 方法
       end
end

那么,這個方法就是一個類方法:
復制代碼 代碼如下:

class Customer
    def initialize(name,age)
      @name,@age=name,age
    end
    class <<self
      def showName
        'ok'
      end
    end
end
 
puts Customer.showName

方法的訪問性
public:公有的,默認情況下類中的方法是公有的,可以用在任何地方。構造方法initialize為私有的。
private:私有的,類內部使用的,只能被類或子類的實例方法所調用。只能通過self隱式調用,不能通過一個對象顯示調用。一個私有方法m,只能通過m調用,而不能通過o.m或self.m調用。
protected:受保護的,類內部或子類內部使用的方法。與私有的區別是:除self隱式調用外,還可以通過該類對象顯示調用。
可以通過以下方法來聲明方法的訪問性:
復制代碼 代碼如下:

#訪問性 private protected public
  private
  def private_method
    puts "private method testing"
  end
  protected
  def protected_method
    puts "protected method testing"
  end
  
  public:protected_method

工廠方法
使用new方法私有,然后通過類方法創建實例
復制代碼 代碼如下:

class Fruit
  private_class_method:new
  def Fruit.CreateFruit
    new Fruit
  end
end
f=Fruit.CreateFruit

模塊module

module作用之一是做為名字空間用。調用類時與調用常量相同:兩個冒號
另一作用是作為混入。通過include把模塊中的實例方法包含到其它類中。感覺功能像C#中的名字空間引入。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97视频在线观看免费| 97av视频在线| 日韩经典中文字幕| 欧美—级a级欧美特级ar全黄| 国产精品久久精品| 亚洲精品v天堂中文字幕| 久久99精品久久久久久噜噜| 国产精品扒开腿爽爽爽视频| 国产日本欧美视频| 国产精品h片在线播放| 亚洲资源在线看| 久久综合久久八八| 亚洲第一色在线| 亚洲精品综合久久中文字幕| 亚洲精品动漫久久久久| 亚洲国产欧美一区| 成人a免费视频| 成人性生交大片免费观看嘿嘿视频| 夜色77av精品影院| 亚洲韩国欧洲国产日产av| 精品国产一区二区三区久久| 日韩精品极品在线观看播放免费视频| 亚洲精品美女久久| 亚洲人成电影在线| 欧美激情视频在线观看| 国产精品美女久久| 国外日韩电影在线观看| 国产精品老牛影院在线观看| 欧美大人香蕉在线| 国产69精品久久久| 国产精品日韩在线播放| 亚洲精品一区二区三区不| 亚洲国产中文字幕久久网| 中文字幕精品网| 91在线观看免费| 久久久久久尹人网香蕉| 欧美激情一区二区三区久久久| 亚洲free嫩bbb| 亚洲一区二区中文| 亚洲一区www| 国产精品入口夜色视频大尺度| 一本一道久久a久久精品逆3p| 国产精品av在线播放| 欧美成人在线免费视频| 亚洲另类欧美自拍| 亚洲一区第一页| 国产精品成人一区二区| 琪琪亚洲精品午夜在线| 欧美激情影音先锋| 中文字幕亚洲国产| 亚洲毛片在线免费观看| 亚洲一区二区三区视频| 久久精品久久精品亚洲人| 一区二区欧美日韩视频| 成人国产精品久久久| 国产a级全部精品| 久久精品免费电影| 中文字幕日韩在线视频| 日韩中文娱乐网| 亚洲色图欧美制服丝袜另类第一页| 亚洲男人的天堂在线播放| 欧美极品在线视频| 欧美午夜宅男影院在线观看| 国产精品日本精品| 欧美精品性视频| 91在线直播亚洲| 国产精品旅馆在线| 欧美高清在线观看| 日韩三级成人av网| 国产视频在线一区二区| 热久久视久久精品18亚洲精品| 亚洲人成77777在线观看网| 欧美视频免费在线观看| 精品国偷自产在线视频99| 亚洲精品福利在线| 欧美性受xxxx黑人猛交| 热re91久久精品国99热蜜臀| 国产亚洲欧美日韩一区二区| 日本午夜精品理论片a级appf发布| 国产精品91久久久久久| 国产成人精品网站| 欧美成aaa人片免费看| 亚洲一品av免费观看| 青草热久免费精品视频| 成人免费直播live| 国产综合视频在线观看| 亚洲一区二区三区视频播放| 国产+成+人+亚洲欧洲| 日韩视频欧美视频| 国产欧美日韩精品在线观看| 久久人人爽亚洲精品天堂| 欧美人与物videos| 欧美性受xxxx黑人猛交| 懂色av影视一区二区三区| 亚洲国产精品电影| 亚洲国产精品中文| 日韩免费视频在线观看| 91精品国产91久久久久福利| 国产成人一区二区三区小说| 欧美电影免费观看大全| 国产精品999| www.99久久热国产日韩欧美.com| 岛国av一区二区在线在线观看| 国产精品视频xxxx| 精品高清美女精品国产区| 国产日韩欧美综合| 中文字幕精品视频| 亚洲一区亚洲二区| 日韩亚洲欧美中文高清在线| 国产精品久久二区| 国产精品国产三级国产专播精品人| 亚洲精品456在线播放狼人| 青青精品视频播放| 热久久99这里有精品| 亚洲精品福利资源站| 亚洲国产一区自拍| 精品小视频在线| 91亚洲精品在线观看| 国产精品九九九| 国产日韩欧美视频| 欧洲美女免费图片一区| 国产成人精品免费视频| 国产精品亚洲欧美导航| 欧美性猛交xxxx富婆弯腰| 2023亚洲男人天堂| 57pao成人永久免费视频| 国产欧美日韩视频| 色婷婷久久av| 日韩av快播网址| 日韩欧美中文免费| 色一情一乱一区二区| 国产午夜精品全部视频播放| 欧美视频不卡中文| 国产97在线|日韩| 久久国产视频网站| 一区二区三区www| 国产亚洲美女精品久久久| 欧美日韩高清在线观看| 精品免费在线视频| 成人在线观看视频网站| 日韩欧美精品网站| 精品国产成人av| 欧美成人自拍视频| 久久免费在线观看| 免费91麻豆精品国产自产在线观看| 成人网在线免费观看| 日本不卡高字幕在线2019| 亚洲国产免费av| 亚洲国产精品大全| 国产一区二区三区四区福利| 国产精品成人免费视频| 欧美在线观看一区二区三区| 国产精品丝袜视频| 亚洲美女精品久久| 欧美在线视频导航| 久久久999精品视频| 日韩高清免费观看| 久久久久国产精品www| 国产亚洲成av人片在线观看桃| 国产日本欧美一区| 久久久亚洲欧洲日产国码aⅴ| 欧美精品做受xxx性少妇| 国产精品福利无圣光在线一区| 最新中文字幕亚洲|