Ruby - 类和对象

Ruby - 类和对象 首页 / Ruby入门教程 / Ruby - 类和对象

面向对象的程序涉及类(Class)和对象(Object)。以车辆为例,它包括车轮,马力以及燃油或汽油箱的容量。这些特征构成了Vehicle类的数据成员,车辆还可以具有某些函数,如停止,驾驶和超速行驶,因此,您可以将类定义为特征和函数的组合。

车辆类(Vehicle)别可以定义为-

Class Vehicle {

   Number no_of_wheels
   Number horsepower
   Characters type_of_tank
   Number Capacity
   Function speeding {
   }
   
   Function driving {
   }
   
   Function halting {
   }
}

通过为这些数据成员分配不同的值,您可以形成多个Vehicle类。如一架飞机有三个轮子,马力为1000,油箱类型为燃料,容量为100升。同样,一辆汽车有四个轮子,马力为200,油箱为汽油,容量为25升。

定义Ruby类

要使用Ruby实现面向对象的编程,您需要首先学习如何在Ruby中创建对象和类。

Ruby中的类始终以关键字 class 开头,后跟该类的名称,名称应始终以大写字母开头,类 Customer 可以显示为-

class Customer
end

您可以使用关键字 end 终止声明。 class 中的所有数据成员都在类定义和 end 关键字之间。

Ruby类变量

Ruby提供了四种类型的变量-

  • Local Variables        - 局部变量是在方法中定义的变量,局部变量在方法之外不可用,局部变量以小写字母或_开头。

  • Instance Variables  - 实例变量可用于任何特定或对象的方法之间,实例变量前面带有at符号(@),后跟变量名称。

  • Class Variables         -  类变量可用于不同的对象,类变量属于该类,是类的特征。 它们前面带有符号@@后跟变量名。

  • Global Variables      -  全局变量在各个类中使用, 全局变量始终以美元符号($)开头。

使用类变量@@no_of_customers,可以确定正在创建的对象数,这使得能够得出客户数量。

class Customer
   @@no_of_customers=0
end

创建Ruby对象

对象是类的实例,现在,您将学习如何在Ruby中创建类的对象。您可以使用类的 new 在Ruby中创建对象。

方法 new 是一种独特的方法,在Ruby库中已预定义,这是创建类Customer的两个对象cust1和cust2的示例-

cust1 = Customer. new
cust2 = Customer. new

在这里,cust1和cust2是两个对象的名称。您写对象名称,后跟等号(=),之后是类名称。然后,点运算符和关键字 new 将紧随其后。

Ruby自定义方法

您可以将参数传递给方法 new ,这些参数可用于初始化类变量,需要在创建类时声明方法 initialize

initialize 方法是一种特殊类型的方法,当使用参数调用该类的 new 方法时将执行该方法。

这是创建初始化方法的示例-

链接:https://www.learnfk.comhttps://www.learnfk.com/ruby/ruby-classes.html

来源:LearnFk无涯教程网

class Customer
   @@no_of_customers=0
   def initialize(id, name, addr)
      @cust_id=id
      @cust_name=name
      @cust_addr=addr
   end
end

在此示例中,您将 initialize 方法声明为 id,name 和 addr 作为局部变量。在这里, defend 用于定义Ruby方法 initialize 。您将在后续章节中了解有关方法的更多信息。

现在,您可以创建对象,如下所示:

cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya")
cust2=Customer.new("2", "Poul", "New Empire road, Khandala")

Ruby成员函数

在Ruby中,函数称为方法。 类中的每个方法都以关键字 def 开头,后跟方法名称。

方法名称始终首选为小写字母。您可以通过使用关键字 end 结束Ruby中的方法。

这是定义Ruby方法的示例-

class Sample
   def function
      statement 1
      statement 2
   end
end

在这里,语句1 和语句2 是类Sample中方法 function 主体的一部分。如,无涯教程可以放置方法 puts 来打印 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

# 现在使用上面的类来创建对象
object=Sample. new
object.hello

这将产生以下输出-

Hello Ruby!

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

Service Mesh实践指南 -〔周晶〕

机器学习40讲 -〔王天一〕

快速上手Kotlin开发 -〔张涛〕

系统性能调优必知必会 -〔陶辉〕

互联网人的英语私教课 -〔陈亦峰〕

动态规划面试宝典 -〔卢誉声〕

技术面试官识人手册 -〔熊燚(四火)〕

Go 语言项目开发实战 -〔孔令飞〕

给程序员的写作课 -〔高磊〕

好记忆不如烂笔头。留下您的足迹吧 :)