`

ruby对象学习示例

阅读更多
class Person
  attr_writer:info  ##可写的成员变量
  @@count = 0  ##静态变量
  def initialize(name,age,gender)  ##构造方法
    @name=name
    @age=age
    @gender=gender
    @info="#{name} #{age} #{gender}"
    @@count+=1
  end
  def info_ref
    @info
  end
  def info
    puts @info
  end
  def Person.getCount   ##静态方法
    @@count
  end
end

class Derive < Person    ##继承
  def info           ##重载
    puts "derive"
    super
  end
end

people = Derive.new('jone',22,'female')
puts people.info

people1 = Derive.new('jone',22,'female')
class << people1   ##特殊类和特殊方法
  def info
    puts "this is people1 method"
  end
end
puts people1.info
puts Person.getCount

puts Person.object_id  ##元对象,类对象和实例对象都是对象,都有一个object_id,我们可以像调用一个实例对象的方法去调用类对象的方法
puts people.object_id
Object.class
Object.superclass


class ReTest ##ruby的动态性,可以重新定义一个对象的方法,可以用undef_method去掉一个方法的定义
  def meth
    puts "this is a method"
  end
end
retest = ReTest.new
retest.meth
class ReTest
  def meth
    puts "this is a another method"
  end
end
retest = ReTest.new
retest.meth
class ReTest
  undef_method(:meth)
end
obj = ReTest.new
obj.meth  

 

输出:

D:\software\Ruby192\bin\ruby.exe -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) D:/project/rubyDemo/test1.rb
D:/project/rubyDemo/test1.rb:65:in `<top (required)>': undefined method `meth' for #<ReTest:0xc95160> (NoMethodError)
derive
    from -e:1:in `load'
jone 22 female
    from -e:1:in `<main>'

this is people1 method

2
6597492
6597360
this is a method
this is a another method

Process finished with exit code 1

 

分享到:
评论

相关推荐

    ruby学习的源码

    Ruby是一种面向对象的编程语言,以其简洁、优雅的语法著称,特别适合Web开发。Ruby on Rails(简称Rails)是基于Ruby构建的一个开源Web应用程序框架,它遵循模型-视图-控制器(MVC)架构模式,极大地提高了开发效率...

    Python & Ruby 学习

    至于“源码”和“工具”标签,这可能意味着压缩包中包含了示例代码或实用工具,可能是用于学习Python和Ruby的练习项目、脚本或代码片段。而文件名“New Microsoft Office Word Document.docx”则提示我们其中可能...

    Ruby-MongoMapper针对Mongo的一个Ruby对象映射器

    Ruby的MongoMapper库就是为了让开发者能够更自然地在Ruby对象和MongoDB文档之间进行映射,从而简化数据操作。 MongoMapper的设计理念深受ActiveRecord的影响,它是Ruby on Rails框架中的核心组件,但MongoMapper...

    Ruby语言相关项目的示例

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。...通过学习和实践这些示例,你将能够掌握Ruby编程的基础和高级特性,从而在实际项目中更加得心应手。

    ruby 资源(代码范例)

    Ruby是一种强大的、面向对象的编程语言,以其简洁的语法和强大的功能著称。...这些代码示例是学习和提升Ruby on Rails技能的重要资源,通过实际操作,你可以加深对Ruby和Rails的理解,提高开发能力。

    Ruby学习资料(含参考手册和Programming Ruby)-中文.rar

    "ruby--.txt"可能是一个文本文件,其中包含了Ruby的代码示例、笔记或者问题解答,通过阅读可以加深对Ruby语法和实践的理解。 "Ruby语言入门教程附实例"和"ruby-mht"文件很可能是包含实例的教程,实践是学习编程的...

    Ruby-编程基础阅读物主要是Ruby示例

    Ruby是一种面向对象的编程语言,以其简洁、优雅的语法和强大的功能著称。这篇阅读物主要聚焦于Ruby的基础,通过实例来帮助初学者理解和掌握这门语言的核心概念。以下是基于标题和描述中提及的一些关键知识点的详细...

    java面向对象笔试题-ddd_sample_app_ruby:DDD示例应用程序的惯用Ruby端口

    java一个对象笔试题 Ruby DDD 示例应用程序 目标 此示例应用程序的目标是提供 DDD 示例应用程序的惯用 Ruby 端口。 它应该忠实于原始 DDD 示例应用程序的目的。 为什么是 Ruby 端口? 因为 Paul 想学习 Ruby,看看它...

    Practical Object Oriented Design in Ruby 新版 实战ruby面向对象设计

    《Practical Object-Oriented Design in Ruby 新版 实战ruby面向对象设计》是一本非常受欢迎的编程书籍,它不仅是学习Ruby语言的重要参考资料,也是深入理解面向对象编程(OOP)技术不可或缺的宝贵资料。这本书由于...

    Ruby语言入门教程&代码示例.zip

    以上就是Ruby语言的基础知识和关键特性,通过深入学习和实践,你可以利用Ruby开发各种应用程序,包括Web开发(如Ruby on Rails框架)、脚本自动化、命令行工具等。在阅读提供的"Ruby语言入门教程&代码示例.docx"文...

    Ruby语言入门教程&代码示例.pdf

    ### Ruby语言基础知识与示例详解 #### 一、Ruby简介 Ruby是一种面向对象的脚本语言,具有简单、高效的特点。...为了更好地掌握Ruby,建议结合实际项目进行练习,并参考官方文档和专业书籍深入学习。

    Ruby-Functo是ruby中的可组合方法对象

    Ruby是一种面向对象的编程语言,以其简洁的语法和强大的功能深受开发者喜爱。在Ruby的世界里,函数式编程的概念也被巧妙地融入其中,这体现在“Functo”这样的库上。标题提到的“Ruby-Functo”就是Ruby中实现可组合...

    Ruby-一个Ruby的例子

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而闻名。在这个"Ruby-一个Ruby的例子...通过深入学习和实践这个Ruby例子,你将更好地理解它的语法、面向对象特性和丰富的库支持。

    [转] ruby学习一个综合小练习

    为了让对Ruby感兴趣的编程爱好者能够通过实践来提升技能,本篇文章特地介绍一个“Ruby学习一个综合小练习”的资源。这篇教程不仅涵盖了基础理论知识,而且通过一个具体的项目,让学习者在实践中加深对Ruby编程语言的...

    ruby脚本交互.rar

    5. **源码解读**: 源码可能包含了如何在易语言环境中创建Ruby调用的示例,包括设置命令行参数、读取脚本返回值等。通过分析这些源码,可以学习到如何在易语言中有效地集成和使用Ruby脚本。 6. **学习资源**: 对于...

    Ruby学习看这一篇就够了.doc

    ### Ruby 学习指南 #### 一、Ruby 语言简介 **Ruby** 是一种功能强大且灵活的编程语言,由 Yukihiro “Matz” Matsumoto 在 1995 年创建。Ruby 被设计为一种真正的面向对象的语言,其中一切皆为对象,这也意味着每...

    Ruby 是一种简洁、直观且易于学习的面向对象编程语言,以其优雅的语法和强大的元编程能力而闻名 Ruby 最著名的应用之一是 R

    Ruby 是一种简洁、直观且易于学习的面向对象编程语言,以其优雅的语法和强大的元编程能力而闻名。Ruby 最著名的应用之一是 Ruby on Rails 框架,它极大地简化了 Web 应用程序的开发。以下是几个 Ruby 语言的示例,...

    学习 Ruby 的笔记以及 Demo.zip

    本资源“学习 Ruby 的笔记以及 Demo.zip”显然包含了关于Ruby编程的学习资料和一些实际示例代码,旨在帮助初学者理解并掌握Ruby的基础及进阶特性。 首先,让我们深入了解一下Ruby的核心特性: 1. 面向对象:Ruby是...

    ruby的pdf资料和相关的学习代码

    Ruby是一种面向对象的脚本语言,以其简洁、优雅的语法和强大的编程能力而闻名。在Ruby中处理PDF文档,我们可以利用rubyPDF库,它提供了一系列的工具和方法,使得在Ruby中创建、编辑和操作PDF文件变得十分方便。...

Global site tag (gtag.js) - Google Analytics