NEED HELP - Events and Listeners against Functions

I have been trying to understand the different between function listeners and table listeners for longtime but i couldn’t. I really would like to know what is exactly this and how i can decide which one to be used. Moreover, im very week in OOP programing and this might be the problem.

Im wondering also, what is the “:” and how you use it, for example :-

when you say:-
function bird:touch(even)
– body
end
AND

function bird (event)
– body
end

or when you say:-

local listener = function (event)
end
bird:addEventListener( “touch”, listener )
[import]uid: 11038 topic_id: 3780 reply_id: 303780[/import]

the table listener means add that event to that object
eg [lua]-- touch event is added to my text field
function play_txt:touch(event)
print(“touch”)
end

– pass any touch events to play_txt
– since there is a :touch table listener registered
– then it will receive the event
Runtime:addEventListener(“touch”,play_txt)[/lua]

a listener means a function is registered for an event, triggered from an object
eg [lua]local listener = function(event)
print(event.name…" occurred on"…tostring(event.target))
print(event.target==play_txt)
end

– play_txt listens to touch events
– call the “listener” function when this occurs
play_txt:addEventListener(“touch”, listener )[/lua]

[import]uid: 6645 topic_id: 3780 reply_id: 11539[/import]