Ruby 教程 之 Ruby 面向对象 12

简介: Ruby 面向对象

Ruby 教程 之 Ruby 面向对象 12

Ruby 面向对象

Ruby 是纯面向对象的语言,Ruby 中的一切都是以对象的形式出现。Ruby 中的每个值都是一个对象,即使是最原始的东西:字符串、数字,甚至连 true 和 false 都是对象。类本身也是一个对象,是 Class 类的一个实例。本章将向您讲解所有与 Ruby 面向对象相关的主要功能。

类用于指定对象的形式,它结合了数据表示法和方法,把数据整理成一个整齐的包。类中的数据和方法被称为类的成员。

类常量

您可以在类的内部定义一个常量,通过把一个直接的数值或字符串值赋给一个变量来定义的,常量的定义不需要使用 @ 或 @@。按照惯例,常量的名称使用大写。

一旦常量被定义,您就不能改变它的值,您可以在类的内部直接访问常量,就像是访问变量一样,但是如果您想要在类的外部访问常量,那么您必须使用 classname::constant,如下面实例所示。

实例

!/usr/bin/ruby -w

定义类

class Box
BOX_COMPANY = "TATA Inc"
BOXWEIGHT = 10

构造器方法

def initialize(w,h)
@width, @height = w, h
end

实例方法

def getArea
@width * @height
end
end

创建对象

box = Box.new(10, 20)

调用实例方法

a = box.getArea()
puts "Area of the box is : #{a}"
puts Box::BOX_COMPANY
puts "Box weight is: #{Box::BOXWEIGHT}"

尝试一下 »
当上面的代码执行时,它会产生以下结果:

Area of the box is : 200
TATA Inc
Box weight is: 10
类常量可被继承,也可像实例方法一样被重载。

目录
相关文章
|
编解码 编译器
项目实战——Qt实现FFmpeg音视频转码器(一)
项目实战——Qt实现FFmpeg音视频转码器(一)
483 0
|
域名解析 网络协议 安全
信息收集的工具你听过几种(盘点信息收集)
信息收集的工具你听过几种(盘点信息收集)
信息收集的工具你听过几种(盘点信息收集)
|
机器学习/深度学习 人工智能 自然语言处理
如何使用ChatGPT制作免费的数字人
如何使用ChatGPT制作免费的数字人
451 0
|
22天前
|
安全 数据安全/隐私保护
阿里云账号注册流程图、实名认证及账号问题解答(个人账号和企业账号)
2025年阿里云账号注册仅需手机号接收验证码,支持个人与企业用户通过官网或App快速注册。注册后需实名认证方可购买产品,推荐支付宝一键认证。一个手机号最多注册6个账号,遗忘密码可凭手机号找回。
293 0
|
关系型数据库 MySQL
Mysql中count(1)、count(*)以及count(列)的区别
Mysql中count(1)、count(*)以及count(列)的区别
330 0
uniCloud 的 schema2code 【实用教程】
uniCloud 的 schema2code 【实用教程】
313 0
|
安全 前端开发 JavaScript
uni-app进阶之https请求方式/状态管理【day11】
uni-app进阶之https请求方式/状态管理【day11】
uni-app进阶之https请求方式/状态管理【day11】
|
NoSQL Go 数据库
用Bioconductor对基因组注释
这一次,我们来聊聊基因组注释。首先问自己一个问题,为什么要进行基因注释。 就我目前而言,它用来解决如下问题: 在mapping-by-sequencing的时候,我找到了一些可能的突变位点,我需要知道这些突变分别是那些基因发生突变,这些突变基因有哪些功能? 差异表达分析之后会得到许多的基因,这些基因有什么样的特征?如果要进行基因富集分析,不可避免就需要知道他们的GO,KEGG等注释信息。
1979 0
|
存储 运维 架构师
阿里云ace考试时间有多久 阿里云ace考试的含金量如何
阿里云ace考试内容是阿里云精心打造的关于云计算方向,阿里云ace考试的含金量很高,行业里都普遍认可这个考试。很多人都不知道阿里云ace考试时间是多久,下面就介绍在预约的考试时间内要考多久。
2646 1
阿里云ace考试时间有多久 阿里云ace考试的含金量如何
|
安全 Shell Linux
【CentOS7操作系统安全加固系列】第(1)篇
【CentOS7操作系统安全加固系列】第(1)篇
906 0
【CentOS7操作系统安全加固系列】第(1)篇