1.在ruby中的定义class,ruby中定义类也是以关键字class开头

  后面带着类名,类名以大写开头。一个类的结束以关键字end

  结束。如:

  class Customer

  end

2.ruby类中的变量,ruby提供四种类型的变量

  1>局部变量

    局部变量一般的被定义在方法中,方法外不可见。局部变量

    一般以小写字母或者_.开头。

  2>实例变量

    实例变量能被特殊的实例或者对象的可访问的方法访问。这就

    意味着实例变量被对象而改变。实例变量通常在变量名前加上

    (@)符号。

  3>类变量

    类变量可以被其他类访问。类变量属于类,在类的不同的实例中

    都可以访问,是类特有的。通常在变量名前加上(@@)符号。

  4>全局变量

    类变量不能在其他类中访问,如果你需要这样的变量,这样的变量

    可以跨类访问。全局变量通常在变量名前加上($)符号。

3.ruby创建对象,使用new方法

  class Customer

    @@no_of_customers = 1

  end

  

  cuts1 = Customer. new

  cuts2 = Customer. new

  默认的情况下,不用显示的定义初始化方法,在java中,就是构造方法,

  ruby也是有个默认的无参默认初始化方法。

  如下:

  class Customer

    @@no_of_customers = 1

    def initilize(id, name, addr)

      @cust_id = id

      @cust_name = name

  @cust_addr = addr

    end

  end

  可以使用带参数的初始化参数来创建对象的实例,如下:

  cust1 = Customer. new("1", "john", "shenzhen")

  cust2 = Customer. new("2", "tom", "shenzhen")

4.ruby类的方法成员

  class Sample

    def function

      statement 2

      statement 3

    end

  end

  如:

  class Sample

    def hello

      puts "hello ruby!"

    end

  end

  #使用对象,调用对象

  object = Sample.new

  object.hello

  #输出

  hello ruby!

5.我们来创建包含全局变量,实例变量,和方法

  class Customer

    @@no_of_customers = 0

    def initilize (id, name , addr)

       @cust_id = id

       @cust_name = name

       @cust_addr = addr

    end

    def display_details ()

      puts "Customer id #@cust_id"

      puts "Customer name #@cust_name"

      puts "Customer address #@cust_addr"

    end

    def total_no_of_customers ()

      @@no_of_customers += 1

      puts "Total number of customers : #@@no_of_customers"

    end

  end

  #Create Objects

  cust1 = Customer.new("1" , "john" , "hubei" )

  cust2 = Customer.new("2" , "tom" , "shenzhen")

  #Call Methods

  cust1.dispaly_details()

  cust1.total_no_of_customers()

  cust2.desplay_details()

  cust2.total_no_of_customers()

  

  

最新文章

  1. GJM :SqlServer语言学习笔记
  2. OpenXml Sdk 根据Word模板导出到word
  3. Linux 比较判断运算(if test)
  4. 依赖于spring 4.x的spring组件
  5. “java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Timestamp”
  6. XCODE6 提交至 App Store
  7. 高效算法——A 归并排序
  8. c语言中的经典算法
  9. Week7(10月24日)
  10. [IOS]Setting Bundle + StoryBoard
  11. Uncaught TypeError: Cannot read property 'call' of undefined jquery.validate.min.js:28
  12. ios framework 开发 之 实战二 ,成功
  13. javaWeb学习总结(6)- 会话之cookie技术
  14. [js高手之路] vue系列教程 - vue的事件绑定与方法(2)
  15. lamp环境部署脚本
  16. (二叉树 递归 DFS) leetcode 100. Same Tree
  17. Windos消息驱动
  18. java中带图片按钮的大小设置
  19. LeetCode算法题-Climbing Stairs(Java实现)
  20. ELK 环境搭建1-Elasticsearch

热门文章

  1. poj2135 最小费用流
  2. mysql查询问题
  3. java 删除字符串最后一个字符的几种方法
  4. 学习cocos2dx3.1.0
  5. uvm_agent——007(特工)
  6. 51nod 1283 最小周长
  7. MINST手写数字识别(三)—— 使用antirectifier替换ReLU激活函数
  8. QSting, QChar, char等的转换
  9. 量化投资,你需要了解的A股财务数据
  10. [Android 测试] 压力稳定性测试之: Monkey 详解分析脚本(转载)