Ruby 教程 之 Ruby 类案例 1

简介: Ruby 类案例

Ruby 教程 之 Ruby 类案例 1

Ruby 类案例

下面将创建一个名为 Customer 的 Ruby 类,声明两个方法:

display_details:该方法用于显示客户的详细信息。
total_no_of_customers:该方法用于显示在系统中创建的客户总数量。
实例

!/usr/bin/ruby

class Customer
@@no_of_customers=0
def initialize(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
display_details 方法包含了三个 puts 语句,显示了客户 ID、客户名字和客户地址。其中,puts 语句:

puts "Customer id #@cust_id"
将在一个单行上显示文本 Customer id 和变量 @cust_id 的值。

当您想要在一个单行上显示实例变量的文本和值时,您需要在 puts 语句的变量名前面放置符号(#)。文本和带有符号(#)的实例变量应使用双引号标记。

第二个方法,total_no_of_customers,包含了类变量 @@no_of_customers。表达式 @@noof 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()

目录
相关文章
|
1月前
|
XML 前端开发 数据格式
Ruby脚本:自动化网页图像下载的实践案例
Ruby脚本:自动化网页图像下载的实践案例
|
3月前
|
开发者 编解码
界面适应奥秘:从自适应布局到图片管理,Xamarin响应式设计全解析
【8月更文挑战第31天】在 Xamarin 的世界里,构建灵活且适应性强的界面是每位开发者的必修课。本文将带您探索 Xamarin 的响应式设计技巧,包括自适应布局、设备服务协商和高效图片管理,帮助您的应用在各种设备上表现出色。通过 Grid 和 StackLayout 实现弹性空间分配,利用 Device 类检测设备类型以加载最优布局,以及使用 Image 控件自动选择合适图片资源,让您轻松应对不同屏幕尺寸的挑战。掌握这些技巧,让您的应用在多变的市场中持续领先。
37 0
|
3月前
|
开发者 测试技术 Android开发
Xamarin 开发者的五大常见问题及解决方案:从环境搭建到性能优化,全面解析高效跨平台应用开发的技巧与代码实例
【8月更文挑战第31天】Xamarin 开发者常遇问题及解决方案覆盖环境搭建至应用发布全流程,助新手克服技术难关。首先需正确安装配置 Visual Studio 及 Xamarin 支持,设置 iOS/Android 测试环境。利用 Xamarin.Forms 和 XAML 实现高效跨平台开发,共享 UI 和业务逻辑代码。针对性能优化,采取减少 UI 更新、缓存计算结果等措施,复杂问题则借助 Xamarin Profiler 分析。
43 0
|
6月前
|
JSON 数据格式 Ruby
|
6月前
|
调度 Ruby
|
6月前
|
存储 JSON 数据格式
|
6月前
|
Ruby
|
6月前
|
人工智能 BI 计算机视觉
|
6月前
|
JSON Ubuntu Linux
|
6月前
|
Ruby