Assignment1- Difference between protocols and sub classes