change the Update Method in the Rock Type to a Function my code Runs.
That's because you are invoking update() on the Type in general, not a specific instance of said type (thus it's looking for a Function called Update, which you don't have).Methods belong to objects/instances, and can only be invoked with a suitable object handle.
Functions belong to the entire type/class and is traditionally invoked like in your example.
The "Abstract" keyword means that you would like a particular function or method to be part of a type interface, but that implementation will be different depending on which extended object/class you're dealing with (polymorphism).