【Ruby】Ruby 类案例
阅读目录
- Ruby类案例
- 保存并执行代码
Ruby类案例
下面将创建一个名为 Customer 的 Ruby 类,声明两个方法:
- display_details:该方法用于显示客户的详细信息。
- total_no_of_customers:该方法用于显示在系统中创建的客户总数量。
实例
#!/usr/bin/rubyclass Customer@@no_of_customers=0def initialize(id, name, addr)@cust_id=id@cust_name=name@cust_addr=addrenddef display_details()puts "Customer id #@cust_id"puts "Customer name #@cust_name"puts "Customer address #@cust_addr"enddef total_no_of_customers()@@no_of_customers += 1puts "Total number of customers: #@@no_of_customers"end end
display_details 方法包含了三个 puts 语句,显示了客户 ID、客户名字和客户地址。其中,puts 语句:
puts "Customer id #@cust_id"
将在一个单行上显示文本 Customer id 和变量 @cust_id 的值。
当您想要在一个单行上显示实例变量的文本和值时,您需要在 puts 语句的变量名前面放置符号(#)。文本和带有符号(#)的实例变量应使用双引号标记。
第二个方法,total_no_of_customers,包含了类变量 @@no_of_customers。表达式 @@no_of_ customers+=1 在每次调用方法 total_no_of_customers 时,把变量 no_of_customers 加 1。通过这种方式,您将得到类变量中的客户总数量。
现在创建两个客户,如下所示:
cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala")
在这里,我们创建了 Customer 类的两个对象,cust1 和 cust2,并向 new 方法传递必要的参数。当 initialize 方法被调用时,对象的必要属性被初始化。
一旦对象被创建,您需要使用两个对象来调用类的方法。如果您想要调用方法或任何数据成员,您可以编写代码,如下所示:
cust1.display_details() cust1.total_no_of_customers()
对象名称后总是跟着一个点号,接着是方法名称或数据成员。我们已经看到如何使用 cust1 对象调用两个方法。使用 cust2 对象,您也可以调用两个方法,如下所示:
cust2.display_details() cust2.total_no_of_customers()
保存并执行代码
现在,把所有的源代码放在 main.rb 文件中,如下所示:
实例
#!/usr/bin/rubyclass Customer@@no_of_customers=0def initialize(id, name, addr)@cust_id=id@cust_name=name@cust_addr=addrenddef display_details()puts "Customer id #@cust_id"puts "Customer name #@cust_name"puts "Customer address #@cust_addr"enddef total_no_of_customers()@@no_of_customers += 1puts "Total number of customers: #@@no_of_customers"end end# 创建对象 cust1=Customer.new("1", "John", "Wisdom Apartments, Ludhiya") cust2=Customer.new("2", "Poul", "New Empire road, Khandala")# 调用方法 cust1.display_details() cust1.total_no_of_customers() cust2.display_details() cust2.total_no_of_customers()
这将产生以下结果:
Customer id 1 Customer name John Customer address Wisdom Apartments, Ludhiya Total number of customers: 1 Customer id 2 Customer name Poul Customer address New Empire road, Khandala Total number of customers: 2
转载于:https://www.cnblogs.com/haizhibin1989/p/9160250.html
【Ruby】Ruby 类案例相关推荐
- 模块全解======ruby的类是单继承生物、所以出现了module、实现了多继承
ruby的类是单继承生物.所以出现了module.实现了多继承. 注:模块.常量和类的命名都是以大写字母开头 . 模块引用: 1.如果引用的模块在同一个文件中,则直接使用模块操作 ...
- ruby 变量类中范围_Ruby中的类
ruby 变量类中范围 Ruby类 (Ruby Classes) In the actual world, we have many objects which belong to the same ...
- 关于 Ruby Ruby on Rails 的一些书及论坛网站
关于 Ruby &Ruby on Rails 的一些书及论坛网站 需要用到的一些书 The Ruby Way Programming Ruby 2nd edition Agile Web ...
- 系统集成项目管理工程师 计算专题(下午计算题-进度类-案例分析)
有兴趣了解或者考软考的小伙伴可以到B站看看这个老师讲的课程. 学计算机的小伙伴有时间可以考一个软考证书,这是中国计算机技术职业资格网官网. 这是广东人事考试网,这里面会公布广东的报考信息,没记错的话是 ...
- 系统集成项目管理工程师 计算专题(下午计算题-成本类-案例分析)
有兴趣了解或者考软考的小伙伴可以到B站看看这个老师讲的课程. 学计算机的小伙伴有时间可以考一个软考证书,这是中国计算机技术职业资格网官网. 这是广东人事考试网,这里面会公布广东的报考信息,没记错的话是 ...
- java-继承实现学生类和老师类案例
java-继承实现学生类和老师类案例:: 定义一个父类: package day08;public class PersonDemo {private String name;private int ...
- ruby File类
类方法 路径相关: File.basename(filename <, suffix>) -> string返回给定文件名 filename 的最后一部分.如果有 suffix 参数 ...
- 【TODO】Ruby Range类
创建: 2017/10/28 Range类 ...
- ruby在类中访问@,类外访问调用方法
class Boxdef initialize(w,h)@width,@height=w,hend def printWidthputs @widthenddef printHeight@height ...
最新文章
- 面试季:如何在面试中介绍自己的项目经验
- xCode中工程相关的一些处理:一个工程包含多个Target的用途和使用方法【转】...
- jQuery learn - 1 - 选择元素 CSS
- bzoj 1834: [ZJOI2010]network 网络扩容【最大流+最小费用最大流】
- 通信系统的同步技术归纳
- SQL开发中容易忽视的一些小地方( 三)
- 无规则弹窗自动点击插件_vscode 插件会了吧,英语不好的赶紧下载 自动分析源码中的陌生单词、点击朗读单词...
- 【VBS】一款无聊的 Visual Basic Script 表白程序
- .net java 开源_为什么说微软开源 .net 也拼不过 java?
- 七秘诀工作效率与薪水翻番
- python制作简单文本编辑器
- Scrapy爬取QQ音乐、评论、下载、歌曲、歌词
- 兜兜线报软件合集_柚子快报淘抢购秒杀系列【送秒杀软件】
- 每日一记之数据库事务
- python里lambda是什么_Python中lambda指的是什么
- 快速乘-在乘法溢出的边缘疯狂试探
- 数位笔的笔芯磨损到什么程度需要更换?压感笔笔芯怎么更换?
- ArcGIS学习记录—dbf shp shx sbn sbx mdb adf等类型的文件的解释
- Rainbow Fart安装及设置其他语音包
- Android10无法访问根目录文件解决
热门文章
- tensorflow 1.X迁移至tensorflow2 代码写法
- 连接数据库是显示无法连接到服务器,如何解决出现无法与数据库服务器建立连接的方法...
- 计算机二级考试需要怎么备考,计算机二级ms office应该怎么备考 考试内容是什么...
- linux重装出现cannot load file 5555h,重装win7系统开机提示cannot load file code:5555h怎么办...
- PAT_B_1007_Java(20分)
- python窗口显示表格_Python爬虫之GUI图表
- 三相逆变器双pi控制器参数如何调节_一分钟看懂维也纳三相整流器
- java mybatis 代码生成器_Java MyBatis-Plus 代码生成器
- 『设计模式』外观模式--这篇博客也太明了吧
- windows系统修改cmd窗口编码格式