Ruby是一种面向对象编程语言,这意味着它操纵的编程结构称为"对象"

先上代码, 了解类的定义与使用方式

class Computer
$manufacturer = "Mango Computer, Inc."
@@files = {hello: "Hello, world!"} def initialize(username, password)
@username = username
@password = password
end def current_user
@username
end def self.display_files
@@files
end
end # Make a new Computer instance:
hal = Computer.new("Dave", 12345) puts "Current user: #{hal.current_user}"
# @username belongs to the hal instance. puts "Manufacturer: #{$manufacturer}"
# $manufacturer is global! We can get it directly. puts "Files: #{Computer.display_files}"
# @@files belongs to the Computer class.
---------------------------------------------------------------------
输出:
Current user: Dave
Manufacturer: Mango Computer, Inc.
Files: {:hello=>"Hello, world!"}
nil

类的定义

class Computer
  #class magic here
end

根据Ruby命名约定, 类的名称第一个字母要大写,之后每个单词的首字母大写, 两个单词之间不再用下划线_分隔

class Computer
def initialize end
end

观察上面类的定义, 类中出现了initialize这个方法, 这个方法用来初始化类的对象,如果没用这个方法,对象就无法生成对象。(对应于c++/java的构造函数)

class Computer
$manufacturer = "Mango Computer, Inc."
@@files = {hello: "Hello, world!"} def initialize(username, password)
@username = username
@password = password
end
end

在Ruby的世界里, 我们用在一个变量名前加上@表示这个变量是一个实例变量,这意味着这个变量只能被类的实例所访问。

局部变量只作用于某个具体的方法中。

变量名前有两个@, 即@@的变量,叫做类变量,它并不属于类的实例,而是属于类自身(类似C++中的static变量)。

全局变量有两种定义方式, 一种是定义在所有类和方法之外。如果你想把全局变量放入类中, 那么采用另一种定义方式,在变量名之间加上$。

Ruby类的创建与使用的更多相关文章

  1. Ruby 类的创建

    class Language  def initialize(name, creator) @name = name @creator = creator end def description pu ...

  2. Ruby类

    Ruby类 类定义 #!/usr/bin/ruby class Sample def hello puts "Hello Ruby!" end end # 使用上面的类来创建对象 ...

  3. 雷林鹏分享:Ruby 类和对象

    Ruby 类和对象 Ruby 是一种完美的面向对象编程语言.面向对象编程语言的特性包括: 数据封装 数据抽象 多态性 继承 这些特性将在 面向对象的 Ruby 中进行讨论. 一个面向对象的程序,涉及到 ...

  4. 雷林鹏分享:Ruby 类案例

    Ruby 类案例 下面将创建一个名为 Customer 的 Ruby 类,您将声明两个方法: display_details:该方法用于显示客户的详细信息. total_no_of_customers ...

  5. Ruby 类和对象

    Ruby 类和对象 Ruby 是一种完美的面向对象编程语言.面向对象编程语言的特性包括: 数据封装 数据抽象 多态性 继承 这些特性将在 面向对象的 Ruby 中进行讨论. 一个面向对象的程序,涉及到 ...

  6. C# 根据类名称创建类示例

    //获得类所在的程序集名称(此处我选择当前程序集) string bllName = System.IO.Path.GetFileNameWithoutExtension(System.Reflect ...

  7. php简单实用的操作文件工具类(创建、移动、复制、删除)

    php简单实用好用的文件及文件夹复制函数和工具类(创建.移动.复制.删除) function recurse_copy($src,$dst) {  // 原目录,复制到的目录 $dir = opend ...

  8. 李洪强iOS开发之OC[013] -类的创建的练习

    // //  main.m //  12 - 类的创建练习 // //  Created by vic fan on 16/7/9. //  Copyright © 2016年 李洪强. All ri ...

  9. C++:类的创建

    类的创建 #include<iostream> #include<cmath> using namespace std; class Complex //声明一个名为Compl ...

随机推荐

  1. [iOS OpenCV错误解决]

    (编译使用O-C会出现错误:<list> not found) (未添加系统库会出现的错误:undefined symbols for architecture armv7) iOS工程调 ...

  2. RabbitMQ配置文件

    配置文件Config 在Web的可视化管理界面中可以看到一些文件的路径 比如 Config文件的地址 数据库存放的文件夹 log文件的地址 进入到这个文件夹会发现有这些文件,其中example是con ...

  3. Codeforces Round #346 (Div. 2)E - New Reform(DFS + 好题)

    E. New Reform time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  4. JavaScript DES 加密tripledes.js:

    <html> <head> <meta http-equiv="content-type" content="text/html; char ...

  5. JQuery 和JavaScript的区别

    Google提供的jquery包: http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js jQuery官方的jquery包: ...

  6. linux系统判断是否重启、关机、查询登录诊断分析简介

    Last reboot这个命令是查看每次系统重启的信息 [root@dg01 log]# last rebootreboot system boot 2.6.32-300.10.1. Thu May  ...

  7. BIOS设置教程

    BIOS设置图解教程之AMI篇 BIOS设置图解教程之AMI篇(目前主板上常见的BIOS主要为AMI与AWARD两个系列,如何辨别BIOS品牌系列请移步,本文详细讲解AMI系列的BIOS设置图解教程, ...

  8. 10月16日下午MySQL数据库CRUD操作(增加、删除、修改、查询)

    1.MySQL注释语法--,# 2.2.后缀是.sql的文件是数据库查询文件. 3.保存查询. 关闭查询时会弹出提示是否保存,保存的是这段文字,不是表格(只要是执行成功了表格已经建立了).保存以后下次 ...

  9. JAVA Applet

  10. Robot Framework--09 分支与循环的用法

    转自:http://blog.csdn.net/tulituqi/article/details/8038923 一.分支 在Robotframework2.7.4之前的版本,我们要想写IF比较容易, ...