Ruby on Rails总结(四)

178 篇文章 0 订阅


1、类

         classOrder <ActiveRecord::Base

                   defself.sayHello

                   end

         end

         定义了ActiveRecord模块中的Base类的子类Order,再类中利用self.方法名定义的方法是类方法,调用的方式为Order. sayHello

         从类的外部无法直接访问实例变量,为了访问他们,就要实现访问其值得方法。

         例如:class Person

                            definitialize(name)           #Ruby中的构造方法

                                     @name= name;

                            end

                            def  name                         #get方法

                                     @name;

                            end

 

                            defname=(new_name)            #set方法

                                     @name= new_name;

                            end

                   end

 

         其中的get和set方法可以简写为以下:

         attr_accessor   :name 相当于set、get方法

         attr_reader :name  相当于get方法

         attr_writer :name         相当于set方法

 

         classPerson

                  def say_hello             #public 方法

                  end

 

                   protected

                   defsay_hello             #protected方法

                   end

                  

                   private

                   defsay_hello             #private方法

                   end

         end

         类不是Ruby语言的唯一组织结构,另一个组织结构就是模块

 

2、模块

         模块不能创建基于其本身的对象

         模块的作用:(1)作为命名空间定义方法,其名称不能与其他地方的名称冲突

                            (2)允许在不同的类之间共享功能

                            多个类可以混合在同一个模块中,他们不需要继承就可以共享模块的功能;

                            也可以将多个模块放到一个类中

3、YAML

         YAML通常用来定义配置内容,如数据库、配置内容和翻译;

         例如:development:

                            adapter:sqlite3

                            database:db/development.sqlite3

                            pool:5

                            timeout:5000

4、综合

         classPerson

       defself.for_dave          #在方法中返回新的Person类对象

          Person.new(:name=>'Dave')

       end

   end

  

  classEmployee < Person

   end

   dave= Employee.for_dave;  #返回的是Person类的实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值