Prévia do material em texto
-1- � � � Exercícios – Lista 2 (Herança e Diagramas UML) Disciplina: INE 5605 - Desenvolvimento de Sistemas Orientados a Objetos I Turma: 0238A Professora: Carla Merkle Westphall 1. ������������ � ���� � � ��� � ������ ���� ������� ������� �� ���� ����� ����������������� ���� ������ �� ������������� ���� ����� �� ���� ������������� ������ �� �� ����������������� ��� ��� �� ������������������������������������������������������������� ��������������� ����������� salarioPorHora� ������� � ���� ������������ ������numeroHoras� ������� � ���������� �� ��� �� ���� �� ������ � �� � ������ ��� ������������� ���� ��� �� �������� �� ��� �� � ����� �� !�� ����� ��������salMensal��" ��������������������� ��� ����� �� � �� ���� � � �� �� � ������� � �������� � � ������ �� �������� � ��#�$���� ������ � ��� ���������� ���� ��� � �������� � � ���� �% ����&��������������� ����� ��������� � ������� - '� ������ ���� (����������� ������� �� ��������� ��������� private static int numFunc�� ���� �� !�� ���������� ������������������� ��� ��������� ��������&���������� ������������������ �������� ������&�� ��)finalize*� �� ����� - '������� ����(����������� � ����� ����� ������&�� ����clone���equals������������� ��� � � ���� Object�� � � � ���� ��% � ����+ � � �� �! �� ��� � ���� �� ��� ��%���� ������������ �� � ��&�� ���� � ���������������������������� - ���� �� �� �� ��� ��� ����� �������������������� �&���,� ����� ���� � � ��-�� ������������ ��� - ���� �� �� �� ��� ��� ����� ������ ��� �&��� ��� ������ ��������salMensal��.���� ���� �� �� �� ��� �� � ����� ������ ��� � � �� ����������� ����/��� �� � �������� � � ������������� �/� �� �� �������������� - '�� ���� ����� � ��� �� �� �� �������� ����&�� �� ������������� ��� ��������&�� ��� � ��� ���� � ������� ���� ��� ����� ��� �� ��� ������ ��� ��� � ����� 0���� � ������������ ������� �� ���%������ � ���� ����� ���������� � ���� � � ��� � ������ ���� ������� ��� �� ��� ���� �� ����Funcionário�� ������ ������ ������� ������ ��1����� ������ �� ������ "�� �� ��� � �����2 � �package����� � ����� � �� ���� �� ��������� ������pacote.folha��3����� � ����� � ��� ��� �� �� � ����� (����������� �� ���� ����� ���� ��1� ��� ����� ��� '�� � ����� �� � ����� � ��� ���� ) ���� �*� ��� ��� ���� �� �% �� ���� �� ���� ������nomeDoAlunofolha.jar ������ ��&�� � ����������������� � �������� �� �����main�2 �� � ���� �! �� ������������� ��� ������� ���� - ����� ����������� ����������������/��������4 - � ������ ��� �� ����������������������� �4 - � ������ ��� �� ��������������������� ��� �4 - � ������� ���� ��� ��� ����� ��� ���� ���������������4 - � ������� ������������������� ��� ����������������� ��� �4 - � ������ � �� ����������������4 - � ����� ��� ����� ��������������4 - � ��)�������*� ��� � � ��)�� ����� �� �/�*� ��2 4 - � ������� ����������� ����������������/���������� ��������������������� ���� �� �� ��� � �� ��� � � � � � � � � � � � � � � � � � � � � � � � � � Departamento de Informática e de Estatística -2- � #� '������� ��� �� �� ������ ���������������������������� ���+��� ���5(��������� ��%��+ �� ���52��� "���� ������������������ ����� ���% �� �� �� �������������� �������������� ����&�� �� �� � ��� � +��� � �� � �67�� ��� � � � ������ ����� ��8��� � ��� � ���� � ��� ����� ������� ��� ���� � ����� �� � � �� �� ������� �� ���� ������ �� � � ����� � �+��� �� ��� � ����� ���� ����� � �� � � ����� �%��+ �� ���.� � �!�� �� � ���� � +��� �� ������ 8��� ���� � +��� � ���������������� � ������� ���� ��� +���� � � � � �� �� �������� �5�6"�� �� ������ 8��� � ��&�� �� � � ��� � � � �!����5'6"���0������ ����&��� ��9:5�;���<�67�-�5�6"�=�5'6"��"���� ������������������ �� ��� � �� ���� ������� ����% �� �� ����������� ����������� �� �� ���� ������� � �� ��� � � ������� �� �������� ������� � ���� � ������������� ����� :���������6>?@@@@�@@�� � � � �������� � � � � ������8� 0��6>?@@@@�@@� �&�6>#@@@@�@@��� � ?@�� � � � � 6>?@@@�@@� ��� � ��6>#@@@@�@@�� � � � #A�� � � � � 6>B@@@�@@� '� ��� � +��� � &� � �� � ����� �� �8��� ��� � ����� ���� � � �� � �&� ��� ������ �� 6>A@@@�@@�� �� ���� ������ �6>?A@@�@@� ���� ���� ������ ���� �� � B� ���� �������� 5 � � ���� �� ������� ��� ����� ������������������&�� �� ���� �� �� � ��������� � ���� ������� � �� ��� � � ������� �� �������� ������� � ���� � ������������� ����� �&�6>?@@@@@�@@�� � � � A�� � � � � 8� C�6>?@@@@@�@@�� �&�6>#@@@@@�@@�� � ?@�� � � � 6>A@@@�@@� ��� � ��6>#@@@@@�@@�� � � � #A�� � � � 6>BA@@@�@@� � 5 � ��� �� �� ���� � +��� � ��52�&�������� �� � �������� ���������� � ������ ������� �� "���� ������ � �� � � ��� �����.:7� � �/���� � � '�classe Contribuinte���� ����� ����&�� ��forneceRendaLíquida�������� �����������&�� �� &�������������� ��� ������� � ����� � �� � � ��� ���������������� ������D��1� � ��� ������� ����� �&�� �������������� � � ��� � ���� ����� �� ��� �E��� ��������� �� �� ! �� " # �� ����� �� �� ����� "������������� (+����� �� 2��+ ����� 9�� ������� ��� �&�� ��� ����� ��� ��� � �� � �.:7��" ��� ��1� ���� �������� ��� �� ������� ��� ����� �����������&�� ��������� �����/��� ������������������ ��� ������ �" ! �� � ���� � ����� ��� ���$ % �������� �!�� ������������� ��� ���� 1. 9��� ��� �� ����������������������� �%��+ �� 4 2. 9��� ��� �� ����������������������� ��+��� 4 3. " �� ��������� ��� ��� ��� ��� ����� � +��� ����� ��� �� �������� ������ ������� � ���� ��������������������� ��� ��4 4. :���� ����� ��� �����%��������� ��� ��4 5. 9� �� �����&�� ��clone���equals��� � �������� ���instanceOf. -3- � �" &�� ��� � �����$ % ��package������ ����� � �����������������������pacote.imposto��3����� � ����� � ������ �� �� � �����"�������������� ���� ��������� ��1� ��� ����� ���'��� ����� �� � ����� � �������) ���� �*������� ���� ���% ������������������nomeDoAlunoimposto.jar ������ ��&�� � ����������������� � � F� .��� ����������� ���������� ������ ��=� ����� ������������ ����� ������� ����� ������ ����� � ���������������� ��� ���� ��� ��� �� �����+ � �� � �� �����2����� ������ ����� ������� ����� ��� ������� ��� ����� �����&���� ���������� ���� �������� �! �� ��&��� � �� �����5����/��� ��� ���� ������������ �����6>�B@@�@@� ��� ���� ������������ ������ ����� ������� �������� ������ ��6>?@@@�@@�������� ���� ��� �����0��� ����� ���� ������������ � ���� ��� � ������E���� � � � ������ ������ � ��6>?B@@�@@�������� �������� ���������� ��� �� � �� ����� ���� � ��� �� � ����� ������������% �������� ������� ���� ������6>?B@@�@@��G� � ����� ������������ ����&���� ����� ����� ������� �������������� �� ������� �������3���/��� �� ����������� ��� ��� �� ���� �6>�?B@@�@@��6>B@@�@@�� ��� ����� ���� ���6>?@@@�@@� �� �������� � � "���� ������ � �� � � ��� �����.:7� � �/������ ����� ���� �� EH���� ����� ���� � � ! �� � 9�� ������� ��� �����Conta��ContaCorrente,�ContaEspecial � Cliente��9�� ���������� �&�� ��� ����� ������ � �� � �.:7��� �� 3���&�� ��saque��������������� ��� ������ � ��� �� � �� ����� �� �����+ � �8����� ��� �� ContaCorrente�=����� �� � �� ���� ��� ���� � ��� �I ������8����� ��� �ContaEspecial�� ���&�� �� � �������� ���� ���false��� �� 9�� ������� ��� ������������� �� � ������ ;�� ���� ����������� ��������� ��� ���� �&�� ������ �������� �&�� ����� �� ����� ���� ��� ����� ����� � ��&�� � �� ���� ������ ������� 3J�� K� 5�6:9�90�����������&�� ������ � �� � �� � ��� �� �� �� � ����� =�Cliente� ��Conta� =� ���� ���� ���������'()*+,*� ���� � ��������� 9�� ������� �� ����Cliente�=��� ����/������� ����&�� ���� �� ����Cliente��� �� ! �� � ���� � ����� ��� ���$ % �������� �!�� ������������� ��� ���� -" 9��� ��� �� ������%�����ContaCorrente4� ." 9��� ��� �� ������%�����ContaEspecial4� -4- /" 9� �� �����&�� �� ��saque� ���� ����� ���������4�0" :���� ����� ��� �����%��������� ��� ��4� 1" 9� �� �����&�� ��clone���equals4� 2" 9��� ��� �������%����Cliente�������������� �ContaCorrente����� �ContaEspecial�� 0� ����� ��������������� �����������" ������������� ���������� ������ 4� 3" .� � �� ������1��� � ����%����" ��������� �� ������&�� ��� � ���������� �� ���� � �� ���� ������ �� ������&�� ��� � �� � ����� ��� ��� �ContaEspecial�� � �� &�� ��� � �����$ % ��package������ ����� � �����������������������pacote.contas��3����� � ����� � ��� ��� �� �� � ����� ���� ��1� ��� ����� ��� '�� � ����� �� � ����� � ��� ���� ) ���� �*������� ���� ���% ������������������nomeDoAlunocontas.jar ������ ��&�� � �� ��������������� � B� &������ � ��� � �� � � ��� �����.:7�� � ��� ��+���� ������ �� � �������� � �/���0������ �� ������������ � �� � ���4 ����� ��� �����2 ���� �� ����� ��� ���������� �� ��� ��&����� main�2 �� � ����� ������&�� ��� ��� ������7������� � ���������������������� ��� ������������&�� ��� ��� ������� �� 0���� � ��� ��� ��� �������� �&��� ���� EH���� �� 9 ��������������� ���� �������������� ������� � : ��� �&��+� �� � ����& ����� ����� ��'����� ���� ����������� ������� ��+������ �������� ����� � � �� E��� ���� ������'� � �� E��� � �� ��� ��� ������������������������� • 5 � ���� � �� ������� � �8���� ��� �������������� ������ �� ��� ��� �� ���� ������������� �� ���� E��� ��������������� ����� ���� ��� !����� �� ����� �� ������������� �� �� �� ������ �� ��������������.����������������� ������� ��� ����� � �� �����������& ��4� • :��� ������� � ��� ���� �E �� �� ����� �� � � � �� ��� ��+���� �� �1��� &�� �� ����� �� �����+��� �� ����� � �� ������������������ �� � �� ������������������/��� ��� �� / � ��� ��� ������ �4� • ����� ��+����&�� �� ����������� �� � �� ������� �� ��� ��������������� ���� �������5 � � ���� �� �� ���� ����� �� ����� ����1�8����������������� ������ � D������ ������� �L���� ���� ����� ���� ������& �����/��� ��� ����?@?��#��� ������� ���� ?@#��F��� �������#@?��#��� �������#@#��F��� ������<���� � ���� �����<�?@� b) 0� � ����� ��� � ����� �������� ��������/����������� �� ������� 4���� ��� � ������� ��� �� �� �� ��� �L���� �� �� ����� �� �� ��� �� �� �� ���� � �� �� �� ������� �� �� ����� �� � �� ������ Ex: água – R$ 200,00 Apto 101 200,00 / 10 * 2 = 40,00 102 200,00 / 10 * 3 = 60,00 201 200,00 / 10 * 2 = 40,00 102 200,00 / 10 * 3 = 60,00 �� 5 � �� � ����� ����� ��+������ ��� 8��� ������1��� � ��/��� ���� �M@N�=����������� ���1�� ����� 4�?MF�=�� ���� ��� ��� ������4� � ����� ��+����&�� ��� ���� ���������� �;+� �� ��;������� ������� �� �������� 8����� � � �� #$�� �� ��� O����� �� �� ��� �� ��� � � �� � �� � � ��� �1�� ���������� 3����� � ��� �� �������� �� �� �� � �A$���&� �E ������ ����� � ����L/������� ��+����� �� "��� �� 8���� ������� � � � �� � ����� �� � � ��� ��+���� �� � �� ������� � � � �� � � ���������� ���� ���� -5- � A� &������ � ��� � �� � � ��� �����.:7�� � ��� ��+���� ������ �� � �������� � �/���0������ �� ������������ � �� � ���4 ����� ��� �����2 ���� �� ����� ��� ���������� �� ��� ��&����� main�2 �� � ����� ������&�� ��� ��� ������7������� � ���������������������� ��� ������������&�� ��� ��� ������� �� 0���� � ��� ��� ��� �������� �&��� ���� EH����� �� 0� ����/��������������������� ���� ���������� � �� � ���������E������� �E ��� ����� E���� ).� � � �� �� �� � �������� �! � ��� ���� ��� �� ��� �� �� + ��� �� 0D0��� " � ��� � �� + ��� ��� � � � �����! � �� �� ����� �� ���� ��� ������� ���� � ������� � � ��� � ��� ��� ��� 2�� ��� 0D0�� ��� �� � � �����! ����� �����������������L ���������� ���� ��� ����� � � �� �� �� �&��������� � ����� ������� ����� �� �� + ������0D0������ ��&������������� �� � � � �E��� �������&���������������'� � �� �� �� � &� ����� � ���� ��� ����� ������ ���� � ��&�� &� ��� ��� ������ � �� ���� �� �� ����� �� ���� �� � � �� �� �� � �� � ��&�� ���� � � ��� � �� ����� ����� �� �� �� �� ������� ������ � � �� �� �� �� 5 � � � � �������� � � �� �� �� �� &� �� � �� �� ���� ������ �� ���E�� �� �� ������� ��� ��������������������� ��������� ��� ������ � �������� ����� �� �� + ������0D0��*� � P� 9 ���������� �� � ������ ��������� ���&�� ��� ����� ���������6������������� �� ���� ���������� ��� � �� � �.:7��� � ����2� ������� ����������L ���� ��� ������ � ����� ��������� �� �� � "��������'�� ������ EH��� �������������������Q�5 �� � ��/�� � ��D�� ������� !��������� �� ������� � ����� ��������5 � �� �� �����D�� �� ��� ��������� ��� ��������& �������� �������E��������� � � � ��� ������� ��� ��� ������ ����� � ��� � ������� ���������� �����������������&��� 3�� ��� � ���1���D�� � ��� � �� ��� � ��� � ��������� ���� ���� ��� ���� ����� ��� �������/���� ���� �� ��������� �������� ������ ������ � ��� � ������� � � R� ��0���:�/�������� ������� �������������������� �L������������ ������� �(��� � ��5 ������� ������� ������������� ����� ��O��������� ���E�� ��� �� ������������ ���������� ������� �� ������������ ������� ��5 ��� ��; � ����� ������� ��;.;��;����� �S����� ��; � ������� ������� ��5 ��� ��� � ������������� ������� ��� ������� ��� ��� � ���2����� ������� ��;.;������� � ������������� �� ������� � ��;.;��K������������� ����� � ��� �������� ��&��� ����� ��� � �� E��� �� �� �� �� ����� � ���& �� �� ��� ��������"���� �classe ConsultaMedica�� ������� ��������� � �� ���E��� ������ ��� ��� EH����# �� ����� �� �� ����� �� ��� 5������ ���� �6 �� ������������ ����� �� � ���� ����������� � ���� �� ��� ������ �� ��� ��������� � �� !��� ���� ���� � �������� �� 5 ��� �� � � �� �� � �������� �� ;.;� ������ �� �� �! �� ��� �� ����� � �� �& �� ��������� ���� ��� ��� � �� �� ���������� �� ������� � ���& �� ���� �! ��� � 8. .������� � ������� ����� � ���������������������� ���� � �% ��'�� ���� ����������T��� �� � �% ����� �� ������������������������������������5 � ���� �������&���������������������% ������ � � � � ��� ������ ����� �� � � ������� 5 � � �� ������� ���� &� ������ ���� �� !�� �� �� % ���� �� � � � ���� � ������"���� ���� �� � ���������%����� ��� ����7 � ��5 � � ��������� ������� ����� � ��� � ����� ������������!�� ��� ���������������� ���� .��� �� ���� EH��� �� ���� E��� �� ������� ��� � �� � � �� � ����� ���� ��1� � �� �� �� � � � ���� ������������ �� ��������� �E ����� � ����2� ���'������������ ������� ��� �������� E ���� main�2 �� � ����� �� ���� ��� �������� �� � ������&�� ������ ����� ���� � -6- � � �����4��������� � �4������ ����� ��� �$���� � ��� ��� ��� ��� �� ������ ������8)9�� ������ ���� ��� ���������� ��� �� ����:� ��������� �� ��� ���� ������ ������ ���� ���� ��4���"� 9� ������������ ������� ��:�% ������� ������ ���� ����� ������� ��������"�;����� �5 ����<����� $ % � � �������������� �� ������ �������� �"� � U� 0������� ���������� E���.:7� �� ����5�� ���������� �� � ������� ��������������������� � ��������� � '���������� �� �L ���� ��� �� �� ��� �����E��������� � ���� ���E����������� � � �� �� �������� ��������� ������� � �� � ��������� ����� � �� �� �������� �� � ���� �������� �<�@�� � ?@� "������ � �� �� �/���+���� ��������� ��� � � ��� �� ���� ������ �� 5�� ���� ���� �� � � ���� 9���D�� ������� ������?���� ����������� ���� ������ ���������������������� �L�������?������ ������� ���� ������� ���� ����������?���� ������ � ������� ��������� �� � ������D�� � ������� ��������� ���� ��������� �� � ��5�� ����� � ����� E���� �� ����������������� ����������� ��� �������E�� �� �� �� � ??� "���� ��������������� ���������� �� �� ���������� � ��� ��� �� ���1�����V3����������� ���1����� � �� ��� �&�%�� �������#�%�� ������5����� �8���� ����������� E������������������� �� ��� %�� ����4� � � �� ��� ��� ������E��� ��� %�� �����Q��� ��� �������/���� ��� ��� �� ���� ��� %�� ��� �� ���� �� �! �� &� P� �� �� �+����� ?�*� 0������� �� � �� � � �� � �������������� ������ � ?#� "���� ������������� � ������W ���� � ������� ��������� ��3��� �����������L��� ������ ���� �� ����������� � ��: ��������� ������� ��� ����� �������� �������L����� ��� ������L��� �� �� ����� �! �� �&���1���� ������0��������� � �� � � ��� ����� � ���� �� � ������ EH���� ���L��� ������ ������ ���� ����L��� ������ � �&���1���� ����� ?F� :� � �� � ���� E���� ).� � ����� � �� ����� � � �� ���� ������ ���������� ��� ������ �� �����������5 � � �5�� � 1��� ��&� ������ ����� ���� � � � �� ��������� � � � ����������� �� ����� �������� ��� � ��� �������� �*�� � ?B� :� � �� ����� E����).�������� ���� ���� � � ����� ���������%������5 � ������ ���� �� �� � ������� E���&���������� ������ �� ����� ��� ���� � � ����� ����%�������������� ����� ��� ��� �� �������� �� �� �� ��������%���� ��� ��������������� ��&����������� � ��������L����� �� � ������ E��� ��������� ����������%����*�� � ?A� "������ � �� �� � �� �� � ����� �� ��+���� �� ��� ������ � �� ������ EH��� � � � ������ �� �� � ����� ��� �(L��� �?�� �