Ruby类和对象

1.Ruby类的定义

    类是对具有同样属性和同样行为的对象的抽象,Ruby中类的声明使用class关键字。定义类的语法如下,

class ClassName
	def method_name(variables)
		#somecode
	end
end

    类的定义要在class…end之间

    ClassName是类名,类名是个常量,必须以大写字母开始

2.实例演示

class Person
	def initialize(name,gender,age)
		@name = name
		@gender = gender
		@age = age
	end
	
	def name
		puts "Name is "+ @name
	end
	
	def gender
		puts "Gender is "+ @gender
	end
	
	def age 
		puts "Age is "+ @age.to_s
	end
end

me = Person.new("cai","male",23)
me.name
me.gender
me.age

    可以使用Person.new方法来创建一个Person类的实例对象。如下所示

me = Person.new("cai","male",23)

Ruby以@开头的变量是实例变量,他们从属于某一实例对象,并且只能在方法内部使用它。外部需要获知实例变量,只能通过调用方法。因此本实例定义了三个方法,分别是name,gender,age。其中to_s的作用是将数字转换为字符串。

    initialize方法使对象变为“就绪”状态,initialize方法是一个特殊的方法,这个方法在构造实例对象时会被自动调用。

    对实例进行初始化操作时,需要重定义initialize方法。类方法new的默认的行为就是对新生成的实例执行initialize方法,传给new方法的参数会被原封不动地传给initialize方法。另外,若带块调用时,该块会被传给initialize方法。因此,不必对new方法进行重定义。

3.运行结果



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值