Class and inheritage

Hi, I’m a OOP newbie and I can’t understand why my functions nested in another function within a class is undefined, better to explain in code

class A{
function A(){
    _root.somebutton.onRelease = function(){
        trace('this works')
        b()
    }
}
function b(){
    trace('this doesnt')
}
}

the onRelease triggers since the first trace lands in the output, but why doesn’t the b() function get called?
I asume it’s some hiearky stuff, right?

Someone help pls.