Extend é para eu fazer com que minha classe herde os atributos de uma outra classe. Implements é para que os atributos de outra classe sejam usados em minha classe. Throw é especificamente para exceções, para que possam se aninhar ao meu código.
Entendi certo?
Se puderem me falar suas visões sobre esses termos e a forma que compreenderam, agradeço.