Concretize a classe Caneta cuja funcionalidade se descreve de seguida:

  1. Esta classe representa uma caneta. Uma caneta tem uma determinada cor e quantidade de tinta. A cor e quantidade de tinta devem ser representads por uma cadeia de caracteres e por um número inteiro, respectivamente.
  2. Quando é criada uma caneta, tem que ser indicada a sua cor e quantidade de tinta
  3. Deve ser possível acrescentar mais quantidade de tinta a uma caneta mas não é possível alterar a sua cor. Este método deverá receber como argumento um número inteiro que representa a quantidade de tinta a adiconar à caneta.
  4. Deverá ser possível obter a cor de uma caneta.
  5. Deverá ser possível saber se uma caneta ainda tem tinta ou não. O método responsável por esta funcionalidade não deve devolver a quantidade de tinta da caneta mas sim um valor do tipo boolean que indicará se a caneta ainda tem tinta ou não.
  6. Finalmente, duas canetas são consideradas iguais se tiverem a mesma quantidade de tinta e a mesma cor. O método responsável por esta funcionalidade deverá devolver um valor do tipo boolean.

Na avaliação será tido em conta: a correcta concretização desta classe. Serão aplicadas as penalizações genéricas associadas ao processo de submissão.