Which of the following would be good reasons for class A to extend class B?
I. When class A needs to use methods already created in class B.
II. When class A is very similar to class B but also needs to keep track of additional data.
III. When class A is very similar to class B but some of the methods need to be redefined in class A.