Answers:
1. HAS-A/IS-A allows you to determine relationships between classes.
Example:
Let's say you have 2 classes, Car and Driver
the relationship between these two would be a HAS-A relationship.
a Car HAS-A Driver, a Driver HAS-A car
Now, without the Car the driver can still exist, he just doesn't have a
car. on the same note, the car doesnt NEED a driver, it can exist
without having a driver.
So, a HAS-A relationship would be a relationship between the two
classes, usually you have a member variable in one or the other that
relates to the other class for access
on the flipside, lets look at a IS-A relationship, this denotes
Inheritance.
Example:
Let's say you have two classes, Shape and Circle.
a Circle IS-A Shape, which would show us that Shape would be our base
class, and Circle would be our derived class/inherited class. On a
sidenote, an IS-A relationship shows that one class CANNOT exist
without another.
From my understanding thats how it works, someone correct me if I am
way off base here.