Ruby类和对象

在这里,我们将了解和学习Ruby中的对象和类。 在面向对象编程语言中,使用对象和类设计程序。

对象是物理和逻辑实体,而类只是一个逻辑实体。

Ruby对象

Object类是所有Ruby对象的默认根。 Ruby对象继承自BasicObject(它是Ruby中所有类的父类)类,允许创建替代对象层次结构。

对象混合在内核模块中,使得内置的内核功能可以全局访问。

创建对象

Ruby中的对象是通过调用类的new方法来创建的。 它是一种独特的方法,并在Ruby库中预定义。

Ruby对象是类的实例。

语法

objectName = className.new

示例:

假设我们有一个名为Stuent的类。 现在,创建一个对象stu,并使用以下命令,

stu = Studen.new("John")

完整示例代码 -

class Student
  attr_accessor :name, :phone
  def introduction()
    puts "Hi , I'm #{name}!"
  end

def say_hello(name, toname)
  puts "Hello, #{toname}! I'm #{name}"
  end

end

stu = Student.new
stu.name = "Maxsu"
stu.introduction()
stu.say_hello('Katrina', 'Maxsu')

将上面代码保存到文件:student.rb,执行上面代码,得到以下结果 -

F:\worksp\ruby>ruby Student.rb
Hi , I'm Maxsu!
Hello, Maxsu! I'm Katrina

F:\worksp\ruby>

Ruby类

每个Ruby类都是Class类的一个实例。 Ruby中的类是一流的对象。

Ruby类始终以class关键字后接类名开头。 通常对于类名,使用驼峰命名规则(CamelCase)。 类的名称应始终以大写字母开头。定义类是用end关键字完成的。

语法

class ClassName  
    codes...  
end

如下示例代码中,定义一个名称为:Dog 的类 -

class Dog  
  def initialize(breed, name)  
    # Instance variables  
    @breed = breed  
    @name = name  
  end  

  def bark  
    puts 'Ruff! Ruff!'  
  end  

  def display  
    puts "I am of #{@breed} breed and my name is #{@name}"  
  end  
end  

# make an object  
# Objects are created on the heap  
d = Dog.new('Labrador', 'Benzy') 
d.bark  
d.display

在上面的例子中,我们使用class关键字创建了一个Dog类。 d是一个实例变量,可用于调用Dog类的所有方法。


上一篇: Ruby注释 下一篇: Ruby方法