扩充类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩充类相关的知识,希望对你有一定的参考价值。
下面讲如何修改String这个ruby官方的类,因为我们没办法去继承ruby官方类,这就用到扩充类。在此之前先讲解如何给已经定义好的类添加新的方法。
逗号写错改过来即可 a=Student.new("张三",23,"男")
class Student
Version="1.0.0"
attr_accessor :name
attr_reader :no
attr_writer :gender
def initialize(name,no,gender)
@name=name
@no=no
@gender=gender
end
def sayHi
puts "我叫#{@name},学号是#{@no}"
end
def self.test
return "小名"
end
end
class Student
def bye
p "hello"
p "再见"
puts "再见"
end
end
a=Student.new("张三",23,"男")
a.sayHi
a.bye
从上面可知,直接再写一次类就能扩充该类的方法,因此给String类扩充两个方法并且覆盖原有name方法
puts String.name #调用未被修改前String的name方法
class String
def self.one
puts "小s"
end
def two
puts "2是two"
end
def self.name
puts "字符串类"
end
end
a=String.new("ceshi")
a.two
String.one
String.name
以上是关于扩充类的主要内容,如果未能解决你的问题,请参考以下文章