【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 ...
最新文章
- android studio dump java heap_Android Studio 3.0 Memory Profiler使用
- SpringContextHolder 静态持有SpringContext的引用
- POJ - 1226 Substrings(后缀数组+二分)
- 如何提高个人博客的访问量
- 转:全卷积网络(FCN)与图像分割
- 浅谈数据中心白盒交换机开发
- php文字音频插件下载安装,Goodhertz音频插件下载
- OpenCV-Python 识别万用表七段数码管电流值
- 乐高ev3编程 c语言,乐高ev3编程软件下载-乐高EV3机器人编程软件lego mindstorms ev31.0 官方版 - 极光下载站...
- rapidminer decision tree(决策树)手册
- 最新Oracle官网JDK 8.0的下载
- 解决oracle 报 ORA-20000(ORU-10027)错误的方法
- BZOJ 1631==USACO 2007== POJ 3268 Cow Party奶牛派对
- 爱莫完成A+轮融资,打造基于实体零售数据引擎的Metachain Store平台
- SD卡插入手机容量变小,U盘低级格式化HA-LLFTOOL
- 简单记录下几家公司的面试经历(Java一年经验)
- 电压跟随器的使用方法
- STM32写FLASH期间导致中断无法响应的解决思路
- 自己动手模仿 springmvc 写一个 mvc框架
- 25匹马,5个跑道,每次只能跑5匹,用最少的次数选出最快的前3匹
热门文章
- oracle语句求保有率,Oracle之保有量计算(当前记录等于前几条记录之和)
- 【计算机组成原理】各种码表示的数
- 软件工程--第五章-- 总体设计
- 如何使用eclipse进行嵌入式Linux的开发
- (转)FPGA的速度等级(speed grade)
- 梯度下降的三种形式——BGD、SGD、MBGD
- 爆破登录测试网页_预测危险的地震爆破第一部分:EDA,特征工程和针对不平衡数据集的列车测试拆分
- 使用Python和OpenCV创建自己的“ CamScanner”
- 机器学习学习吴恩达逻辑回归_机器学习基础:逻辑回归
- 芝麻信用分750以上有什么特殊作用?