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
类常量可被继承,也可像实例方法一样被重载。

目录
相关文章
|
机器学习/深度学习 人工智能 自然语言处理
springboot基于人工智能和自然语言理解技术的医院智能导医系统源码
智能导诊系统可为患者提供线上挂号智能辅助服务,患者根据提示手动输入自己的基本症状,通过智能对话方式,该系统会依据大数据一步步帮助患者“诊断”,并最终推荐就医的科室和相关专家。患者可自主选择,实现“一键挂号”。这一模式将精确的导诊服务前置,从源头上让医疗服务更高效。
723 2
Visual Studio 简易打包工具的安装与使用
Visual Studio 简易打包工具的安装与使用
|
关系型数据库 MySQL
Mysql中count(1)、count(*)以及count(列)的区别
Mysql中count(1)、count(*)以及count(列)的区别
426 0
|
安全 前端开发 JavaScript
uni-app进阶之https请求方式/状态管理【day11】
uni-app进阶之https请求方式/状态管理【day11】
uni-app进阶之https请求方式/状态管理【day11】
|
Java 数据库连接 数据库
【MyBatis】tkMapper 插件
【1月更文挑战第14天】【MyBatis】tkMapper 插件
|
NoSQL Go 数据库
用Bioconductor对基因组注释
这一次,我们来聊聊基因组注释。首先问自己一个问题,为什么要进行基因注释。 就我目前而言,它用来解决如下问题: 在mapping-by-sequencing的时候,我找到了一些可能的突变位点,我需要知道这些突变分别是那些基因发生突变,这些突变基因有哪些功能? 差异表达分析之后会得到许多的基因,这些基因有什么样的特征?如果要进行基因富集分析,不可避免就需要知道他们的GO,KEGG等注释信息。
2056 0
|
存储 运维 架构师
阿里云ace考试时间有多久 阿里云ace考试的含金量如何
阿里云ace考试内容是阿里云精心打造的关于云计算方向,阿里云ace考试的含金量很高,行业里都普遍认可这个考试。很多人都不知道阿里云ace考试时间是多久,下面就介绍在预约的考试时间内要考多久。
2708 1
阿里云ace考试时间有多久 阿里云ace考试的含金量如何
|
机器学习/深度学习 自然语言处理 算法
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
778 0
涨点技巧 | 旷视孙剑等人提出i-FPN:用于目标检测的隐式特征金字塔网络(文末获取论文)(一)
|
传感器 监控 Java
功耗优化 · 入门篇 · 浅析Android耗电量优化(2)
功耗优化 · 入门篇 · 浅析Android耗电量优化
583 0
功耗优化 · 入门篇 · 浅析Android耗电量优化(2)

热门文章

最新文章