2.ruby基本语法,类的定义
1.在ruby中的定义class,ruby中定义类也是以关键字class开头
后面带着类名,类名以大写开头。一个类的结束以关键字end
结束。如:
class Customer
end
2.ruby类中的变量,ruby提供四种类型的变量
1>局部变量
局部变量一般的被定义在方法中,方法外不可见。局部变量
一般以小写字母或者_.开头。
2>实例变量
实例变量能被特殊的实例或者对象的可访问的方法访问。这就
意味着实例变量被对象而改变。实例变量通常在变量名前加上
(@)符号。
3>类变量
类变量可以被其他类访问。类变量属于类,在类的不同的实例中
都可以访问,是类特有的。通常在变量名前加上(@@)符号。
4>全局变量
类变量不能在其他类中访问,如果你需要这样的变量,这样的变量
可以跨类访问。全局变量通常在变量名前加上($)符号。
3.ruby创建对象,使用new方法
class Customer
@@no_of_customers = 1
end
cuts1 = Customer. new
cuts2 = Customer. new
默认的情况下,不用显示的定义初始化方法,在java中,就是构造方法,
ruby也是有个默认的无参默认初始化方法。
如下:
class Customer
@@no_of_customers = 1
def initilize(id, name, addr)
@cust_id = id
@cust_name = name
@cust_addr = addr
end
end
可以使用带参数的初始化参数来创建对象的实例,如下:
cust1 = Customer. new("1", "john", "shenzhen")
cust2 = Customer. new("2", "tom", "shenzhen")
4.ruby类的方法成员
class Sample
def function
statement 2
statement 3
end
end
如:
class Sample
def hello
puts "hello ruby!"
end
end
#使用对象,调用对象
object = Sample.new
object.hello
#输出
hello ruby!
5.我们来创建包含全局变量,实例变量,和方法
class Customer
@@no_of_customers = 0
def initilize (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
#Create Objects
cust1 = Customer.new("1" , "john" , "hubei" )
cust2 = Customer.new("2" , "tom" , "shenzhen")
#Call Methods
cust1.dispaly_details()
cust1.total_no_of_customers()
cust2.desplay_details()
cust2.total_no_of_customers()
2.ruby基本语法,类的定义的更多相关文章
- Ruby学习: 类的定义和实例变量
		
ruby是完全面向对象的,所有的数据都是对象,没有独立在类外的方法,所有的方法都在类中定义的. 一.类的定义语法 类的定义以 class 关键字开头,后面跟类名,以 end标识符结尾. 类中的方法以 ...
 - [ruby on rails] 深入(2) ruby基本语法
		
1. 调试&注释&打印输出 1.1 调试 ruby属于解释型语言,即脚本,在linux上,脚本的执行无非三种: 1. 用解释器运行脚本 解释器 脚本文件 即:ruby 脚本文件 2. ...
 - JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
		
在Java语言中,我们可以定义自己的类,并根据这些类创建对象来使用,在Javascript中,我们也可以定义自己的类,例如定义User类.Hashtable类等等. 一,概述 在Java语言中 ...
 - Java入门(2) —— 变量详解、运算符、定义类和定义方法以及方法的调用
		
1.变量 1.定义变量 1.声明的同时直接赋值 数据类型 变量名 = 值; 2.先声明,后赋值 声明: 数据类型 变量名; 赋值: 变量名 = 值; 2.数据类型 基本数据类型:4类8种 整数 --- ...
 - C++学习4-面向对象编程基础(面向对象概念,定义类,定义对象)
		
什么是面向对象? 在软件的设计过程中的两种方式: 把程序按照算法的执行步骤来拆解,一步步实现,这是面向过程编程: 把程序按照现实世界的理解,分成不同对象,通过多个对象之间的相互作用,来完成程序的最终功 ...
 - Ruby中的类
		
初识ruby中的类 只需要简单的两行 class Point end 如果我们此时实例化一个类那么他会有一些自省(introspection)的方法 p = Point.new p.methodes( ...
 - C++基础学习8:类的定义(class)
		
先来说说C和C++中结构体的不同 a) C语言中的结构体不能为空,否则会报错(??) b) C语言中内存为空结构体分配大小为0,C++中为结构体和类分配大小为1byte c) C语言中的结构体只涉及到 ...
 - .NET高级特性-Emit(2)类的定义
		
在上一篇博文发了一天左右的时间,就收到了博客园许多读者的评论和推荐,非常感谢,我也会及时回复读者的评论.之后我也将继续撰写博文,梳理相关.NET的知识,希望.NET的圈子能越来越大,开发者能了解/深入 ...
 - ES6 class类中定义私有变量
		
ES6 class类中定义私有变量 class类的不足 看起来, es6 中 class 的出现拉近了 JS 和传统 OOP 语言的距离.但是,它仅仅是一个语法糖罢了,不能实现传统 OOP 语言一样的 ...
 - php类的定义与实例化方法
		
php类的定义 类是对某个对象的定义.它包含有关对象动作方式的信息,包括它的名称.方法.属性和事件.实际上它本身并不是对象,因为它不存在于内存中.当引用类的代码运行时,类的一个新的实例,即对象,就在内 ...
 
随机推荐
- VirtualBox Network设置的NAT和Bridged Adapter模式区别
			
区别: NAT模式下,虚拟机仍然可以访问网络,但是从网络接收者的眼中看来,这些网络请求都来自宿主机,而感知不到虚拟机.外网也无法访问虚拟机网络.虚拟机和宿主机器的IP地址在不同的子网,比如192.16 ...
 - strong 、weak、copy 、assign 、retain 、unsafe_unretained 与autoreleasing区别和作用
			
strong关键字与retain关似,用了它,引用计数自动+1,用实例更能说明一切 @property (nonatomic, strong) NSString *stringA; @property ...
 - java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column 'groupName'
			
java.sql.SQLException: Incorrect string value: '\xE6\x88\x91\xE7\x9A\x84...' for column 'groupName' ...
 - WPF知识点全攻略10- 路由事件
			
路由事件是WPF不得不提,不得不会系列又一 先来看一下他的定义: 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件. 实现定义:路由事件是一个 C ...
 - python中return和yield
			
def wx(): a = 'wx' b = '无邪' return a, b print(wx()) print(type(wx())) -----------执行结果--------------- ...
 - 一个典型的flex布局,兼容性比较好
			
html 代码: <body class="flex-wrap col-flex"> <header class="midCenter flex-wra ...
 - windows搭建gcc开发环境(msys2)  objdump
			
前言 可能你并不太了解msys2,但是作为一个程序员,你一定知道mingw,而msys2就集成了mingw,同时msys2还有一些其他的特性,例如包管理器等. msys2可以在windows下搭建一个 ...
 - java script   DOM  BOM
			
onclick 当用户点击某个对象时调用的事件句柄.ondblclick 当用户双击某个对象时调用的事件句柄. onfocus 元素获得焦点. ...
 - Sniper OJ部分writeup
			
0x00 shellcode pwn 因为题目直接有源码,我就不拖进IDA了,直接看代码 这是一个典型的栈溢出,我们只需要构造shellcode获得/bin/sh权限就可以得到flag.下面是所用脚本 ...
 - sscanf函数详解
			
#if 0 ,sscanf():从一个字符串中读进与指定格式相符的数据. ,sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者以固定字符串为输入源. ,关于正则表 ...