Saturday, January 29, 2011

DAY11

Had a real revelation or two last night about modules, classes, objects, and methods and their relations to each other. Also got some insight about setting and getting the value of instance variables as well as on the concept of records as hashes and symbols as recordIDs.

Notes following are based on Agile Web Development With Rails pp. 66-67:

class ClassName < ModuleName::ClassNameInPrecedingModule

#declarations about entire class
#(module "has _many" is inhereted (i.e."<")
#from ModuleName)

has_many :symbols #used as hash(records) keys (recordIDs)

#class method abut the class in general
#can be called anywhere in application
#ClassName.method_name

def self.method_name
self.method(params)
end

#another_method uses
#symbols declared above

def another_method
instance variables declared/etc.
symbols.method {|blockvariable|
block
}

end
------------------------
#Instance variables are not directly accessible outside the class.
#To make them available, write methods that return their values:

class NewClassName

#initialize = what happens when new instance of
#NewClassName is generated via the “new” method
#i.e. object_variable = NewClassName.new(param)
#sets the @instance_variable to the param

def initialize(param)
@instance_variable = param
end

#object_variable.method_to_return_value_of_instance_variable
#=>puts the param passed
#from initialize (new) method or the
#new_method_to_set_value_of_instance_variable

def method_to_return_value_of_instance_variable
@instance_variable
end

#object_variable.new_method_to_set_value_of_instance_variable=(param)
#sets the @instance_variable to the param

def new_method_to_set_value_of_instance_variable=(param)
@instance_variable = param
end

end

No comments:

Post a Comment