Top Banner
Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta Gerboni Informatica – La Programmazione Orientata agli Oggetti
16

La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Feb 15, 2019

Download

Documents

NguyenMinh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

La Programmazione

Orientata agli Oggetti (O.O.P.)

Roberta Gerboni

Informatica – La Programmazione Orientata agli Oggetti

������������ ��� �� ���� ������������ ���

����� ��������� ��� ������� ��� ������ � ����� � ������������������� ����������� ��� ������������� �� ������� �� ��������� ������ � ������� ��� ������� ����� ������� � ��������� ������������� ����������

��� ���� �� ������� �� ������� ����������� �������� ����������� ���������� ����������� �� ���� ������ ����� ������� ��� ���� ������� ��� ���������� ������ ������ � �� ��� ��� ����� ��������� ���� ���� ����� ���� ������� ��

!

����������� ����������"� ���� ���� ����������� # ������� �$���� � ������� �� ��� ����% ��� �

������� � ���!���& � ������� ������ ����������� �� ������������ ��������� ���� �������� �$ ������ � �� �������� ���������� ��� � �����

����� ���� ���� ����� ���� ������� ������� ��� ��������% ��� �

������� �� ����"

'� ���� �� � ������� ��������� �� �������� �� �����#& �������& ���������������� ��� �����'� ���� �� ���� �� ���� �������� ()��*�+� ���� # ������������ �� �� �� ����������������% � ������� �� $�%��� �� ������� �� ���������� ��� ������������ � ������ � ���� �

Page 2: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

��������������&��������������&

������������������������������������&��������������&

���������&��%�&����������������&��%�&�������

����%���&

����%����

�������

����%����

,

�������������&��

����������������������&��

�����#&

�����������'�������(

Informatica – La Programmazione Orientata agli Oggetti

�������������� ���

-���������� �� ������� ��� ������� ���������� ��� �����������

-���������� �� ������� ��� ������� ���� ����� ����������

-���������� ����������

)���%���&%�&�������������&

�&�%&������������&��&�������&��)�*���&��%��&����%����

.

��������%� $�������%

• � ���� ������� ���� ����������� �������� ����� ������� ��� ���������� � ��� ������� �������� �� �� ������

• �$ ������ �������� � ���������� �� ������� �� ������ ����������

• ��������/ � ���� �� ������

• ������� �� �������� ������� �������� �� ����� �� ���������� ��� �� ��� �������� ���������� �� ������� �� ��������

• 0���� �� �� ������ ��� ������ �� ���� ������� ����� �� ����������� ������� �� ���� ��������� �� ���� # ������� �� ��������������

Page 3: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

1��������� ������������ ����� 22- # �� �%�����

1� �%���� # � �� � ��������� ��� ������� ����� �������� ��� �� ����������

"� �������� �� ����� ����� ������������ �� ���� ����� ������� ����������������������� ��� ���� ����������� ���������� 3�4 �������� �� ������ ��������� ��������� ��� ������ ��������� � ���� ���������� �� ������� ���������� ��� ���������

1� �%���� # �� ����������� �������� �� � �� � �� ���� ()��* � �������� ��

������� � �%���� �� �������

5

1� �%���� # �� ����������� �������� �� � �� � �� ���� ()��* � �������� ��)����%�� �� ������� ��� ����������� � � ���� ���� �������

+� ������� # �� ������� ��%%� �%����% ���� �� ������� �� �������������������� �� �� ����� ������& �� ���� � ������� �� ���������� �� ��������� ��� ���� ����� ��������� ����������

1� ��������� ��� ������ � ������� # �� ������ ��������� ��� ��# ��� �� � �� ����� �����

Informatica – La Programmazione Orientata agli Oggetti

'��������%6�67���������

������� � �%���� �� �������

8

Page 4: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

OrcoOrco CavaliereCavaliere

Classi

Istanze (Oggetti)

������� � �%���� �� �������

9

Informatica – La Programmazione Orientata agli Oggetti

2��� ������� # �������� ��%

• ��������� ��� �� ��������� �� �� �������������+� � ��������# ������������ � ������� �� ��� ����� � ���� ��� � ��������� � ���������

• ������ ��� �� ��������� � ������������� ���������%� � �� ������&�� ��������# �������+�& ���# �� ���������/ ������������ ������ � ����� ��������� 4 ����������" ������ ������� �������� ��� �� )������� ���������� �� ��������

������� � �%���� �� �������

" ������ ������� �������� ��� �� )������� ���������� �� ����������� �� ��������� �� ����� ������������ � ������ ����� �������� �������� ������ �� ��������

1� ����� �� �� �������& # �:������� ��� ������ ����� �� �� ����/ �� ������������ ������� �� ��� � ($�%��� ������� ��%%� $������%�*� '� ����������� � ���� ������ �� �� �� ����/ �� � �������& �� �� ����� ������/ ������������

��� ����� ����:�����������& � ������� # �������/ �������� �� �����������& �� � ��� ���%���� �& ������& ���� �� ������������

Page 5: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

��������� ������

������ �� ��� �%����

�������&,

������� � �%���� �� �������

���������������� �� ��� �%����

���� ������ )������� ������

Attributo

Attributo

Attributo

�����)�����" ������ �� �� ������������������ �������)���������� ������ (���# ��������� ��� ��������� 4 ����� ������* � �����:���� ����������������� �� ��� # �������� ���������� ���� ������� ����� �������

Informatica – La Programmazione Orientata agli Oggetti

���������

��� ��%%�

�%����

������

��

������

Page 6: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

��%������%����

������

��

; ���� � ������� ������ �� ��� �� ��������� ������ "� ��������� �� ���������������� � ������� ��� �� � �� �������%

< � ������� ������� �� �������

< � ����� ��� ���� �� � ���

< � ��������� ������ �� ������

; "� ���������=��� ��� ���� ������� �� ����� �� ������� � ���� �������� �� ����������� �� ������ ���� ������������ ��� �� ��

Informatica – La Programmazione Orientata agli Oggetti

����������������������

��������������������� ������������������� �

����������������������������������� �

���������������������������������������� �

�������������

Che succede se devo

aggiungere nuovi tipi di

soldato?

�!

���������������������������

�������� ��

��������

�������

��������

Se devo aggiungere

nuovi tipi di soldato il

codice non cambia!

Page 7: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

-" �������%������ � ��)�������� +�����

+�� ��� ������ �������� # ���������%������& ���# �� �� ����/ ����� ������� �� ������� �� ��� ������ ��� ��� ������� (�� ���������* ��� � ������ (�� ������*& ������������� ��� ����������� �� ����� � �� ����� ��������� ������������

'� �� ���� ���� �� �� ��� ��� ���%� ��������� ������������� ������� ���������� ��������� ������� 1����� � ���� �������� ��# ����� ���� ����)�������� +����� (����+�������� ��%%� ��)��������� ���� ���� ��$�����%�

������������*�

��������%� ��������#

�������������� ���

�,

������������*�

"������ ������ ��������%• �������� %.���%����������� �������% ����������������� ������ / ���� ���� )� � ������ ������& ���# ���� ������� ������������� (���������/ ������& ���������� �������� � �� � ���������*&�� ��� / ���� ���� %� )��

• �������� �� ������� �������� � >���������?������������% �� ���� �� # �������� ��������� ���������� � �������� ����������� ������ ��� ���������� � ������ ������ ��� �� ������������ �������

Informatica – La Programmazione Orientata agli Oggetti

1� ������� ������ ������� �� � ������� ��� ������� � ��%�$����� # ���� ����� � ������� ����:����������� ��� �� ��� ���:������� �� ���� ������������������ ���������������� ��� ��������� �� ���������� ��� �:������� �������

!%����&��%�$�����

������

�.

Page 8: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

�5

Informatica – La Programmazione Orientata agli Oggetti

�8

Page 9: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

�9

Informatica – La Programmazione Orientata agli Oggetti

0" ����������#

+�� �������� ����� �������� ����� ������������ �� ������� # �������������#& ����������� ��%

�������� �� ���� ������ ��� �������� �� �� ����/ �� �� ������ ��/ ��������� &

�� ������� ���� ������� � �������

��������%� ��������#

�������������� ���

��

Page 10: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

1" ��%����)����

"� ��%����)���� # �� ���������/ �� ���������� � ���� ������ ��� ���/ ���� ��������� ������� �� ���� �� �� � �� ������� � �� ����� � �������

@���� # ���� �������� ����� ���������������# � �����$��%������% ������� �������� ������� ��� �� ������ ���� � �� ������� 0���������� �� ���� ��� ��������������� �������� ������� �� ���� �� �� � �� ������� � �� # ����� �����������

��������%� ��������#

�������������� ���

��

Informatica – La Programmazione Orientata agli Oggetti

!%���� � �������2 ��������� � ������ ��� ��������� �

��� � ���� ���������� ������� ��� +A1 ����� � ��� ������� �� ���������� �������� �� ���� �� � ������� �������� � ����� ���� ������� �� ���������& �� �� ���������� �������� �� �������� ������� �� ���������� �� ������ � ���������� ��� ������������ ��� �� ����% �� ��������� ��%%� �%���� (������������*%

B ������� �������� ������������ ����� ������%

�� ����

!�

��� ������%

�����%�

���$��� 3

����%��+� 4

�������� 5

���������� �� ������� ������� ����������� � �������%

>3?666666>4?666666>5?6

�� ����

� �������

Page 11: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

-�� ���� ������& ����� �� �� ������� �� ���������/ ( ������ � ������* #

� , ��������� ��%%� �%����

!�

-�� ���� ������& ����� �� �� ������� �� ���������/ ( ������ � ������* #���������� ��������%

• � ���� � � ���� ���%� �$�����%� ��������� � �� %��� ���%� (��=��=�����*C

• �� ���� ��%%6�$�����%� $�%��� ���������� (��� ����� ������� �� � �� �������� � �� ������� D , � *�

Informatica – La Programmazione Orientata agli Oggetti

������

!%���� ��%�$�����

• ���� ��� �������� ���� ������ � ���� ������� ���� ������C

• �� �������� ���� �������� ���������� ����� �������� ���������������������� ���� ����������=������%� +� ������ �� �� ���� ����� ��� �� ������� ���& ������ ��� ���� �� �

!!

������� ���& ������ ��� ���� �� ��������� ����� ������& ��������� ��

����� �������������

� +� ������ �� �� ���� ����� ��� �� ������� ���& ������ ��� ���� �� ���������& �� �� ��� � �� �� �����

� ���� ����� �� �� �������/����� ����������� ��� �������������

Page 12: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

• ��� �� ���� ��� �������� ���� ������������� ��� ������ ������% �� ���������� ����� �������� �� ����������� ��� ���� ������������ �������� ����� �� �������� � ������������ �� ������ ���� ��� ������

����������� �+� ������ �% ����

��%%� ������ �%�����

������

!%���� ��%�$�����

!,

��%%� ������ �%�����

• " ������ ��� ���������� ������������ ��� ������������������� � ����������� �������� ������ ������ �� ����������� ���� ��� ��� ������ �� ������������ ��������� �� ������ ������ ����������& � � ������ �� ������������� ���������� �� ���� ���������

Informatica – La Programmazione Orientata agli Oggetti

-��6��������6�6 ��������6���������6����6�������6�������%6

• "����������� ��� ������� ��� ������������ �� ������� ��� �������

• �������� �� �%���� & ��������� ��� ��������� � �������

• '�������� ���� ��� ������� ������������� ��� ���� ���������� ������������ ����� ������� �� ���������

�������������� ���

!.

Page 13: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

��)��������&��&���&�%����&&��&!44

�%��� ���������� E== )��������� �� ��������� C�� �! ��������� CFF== A������� �� ���������C�� �! ���������C

���������������� ��������

� ��� �� ��������

�%��� ���������� E== )�������

������������

��������%�

�����%6�����������%6�����

G�������(��6�%�����&6�� �%�����*%6����G����(6*%6�����

�� �� �� ���

!5

�� �! ���������CF��

HC

== )������������ ����� ������� C

���%��,== A��������� �������(����� �& ����� �* E���� I �C����� I �C

H����� ����( * E����� ����J�����C

HHC

)��K�L"2�K%

1� ������� ���$��� # �� �������

-�� ��� �������� � � ������ ������ ������ � ��������� ���%���

Informatica – La Programmazione Orientata agli Oggetti

���+���������&��&��&�������&��&���&�%����&&��&!44'���������&��&��.�������(

���������� �����������C��� ���� (*

E ��������%� 7�����C

������������(���� & ��8�*C

���MMN"� ���� ��� � �� � �������

�� NMM ���������(*MMN � OC

����� �C

H

+�� ����� ����������� ������ �� ��������& # ���������������� �� ������������ ����������� N"O

!8

����� ������������ 22- �� ��������� �� �� ������� �� ���� ����������� ����� ����� ������%

• �%%����� �:���� �� ������� �� �� ����������� ����:������� ������C

• ������%������ � $�%��� ���%� ��������� ��� ������������ �� ��� ����������������� ����:��������

1� ������� ����� ����� �� ������ ��� ����������� ����� ������& ����� �� ��� ������ ������& ����������� ���������� ��� �� ������ ���� ��%%� �%�����

Page 14: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

��������%�

�����%6�����������%6�����

4��������%�'&(

G�������(��6�%�����&6�� �%�����*%6����G�����������(*%6����G����(6*%6�����

�� �� �� �� �� �� ������

����������������������

�%��� ���������� E== )������������ ����� ������� C

���%��,== 3���������0��������� (* E

���� I ���C����� I ���C

H

== A��������� �������(����� �& ����� �* E

������������

"� �����������%

!9

== A��������� �������(����� �& ����� �* E���� I �C����� I �C

H���� $����%��������(* E���MMNP��� I NMM����MM����C���MMN)����INMM�����MM����C

H����� ����( * E����� ����J�����C

HHC

• Q� �� ������ ���� ��%%� �%����

• ����� ���+������ ��������������� �� ����

���%����� ���� �������� �� �������� (������� ��� # ����� ����������*

• ��� ���$��� %� ������������ �� �%��� $�%���

�& �� ���������& ��� ���� ������� ��������� ���� �� � �� ���� �������

• "� ������������ 4 �������� ���������������� ������ �� �� ��� ������������� ������������� ��������� � ������ ��� �������� ���� ����� ������

Informatica – La Programmazione Orientata agli Oggetti

��������%�

�����%6�����������%6�����

4��������%�'&(

G�������(��6�%�����&6�� �%�����*%6����G�����������(*%6����G����(6*%6�����

�� �� �� �� �� �� ������

����������������������

�%��� ���������� E== )������������ ����� ������� C

���%��,== 3���������0��������� (* E

���� I ���C����� I ���C

H== A��������� �������(����� �& ����� �* E���� I �C

������������

��� ���� ( *

!�

���� I �C����� I �C

H

���� �����%��������(* E���MMNP��� I NMM����MM����C���MMN)����INMM�����MM����C

H

����� ����( * E����� ����J�����C

HHC

��� ���� ( *E ��������%� 7�����C ����������������( *C ������������(���� & ��8�*C���MMN)���INMM ���������(*CH

��������� �� �� ���� � ����

��������

����������������

Page 15: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

������������

�%��� ������E== )������������ �����P�������C

���%��,== )����������� ����R�5S& �������R�5HC���� ��������R!�S C���� �����R,�S C== A��������� �����%��8�������(����� �* E�� (�M�*

��� MM N'���� ��� ���������T�OC ��� ���� ( *

�������

-�����P�������%6�����G����%6����R�5SG�������%6����R�5SG��������%6����R!�SG�����%6����R,�S

G���'����P�������(��6�%6�����*%6����G���'����P�������(��6�%6�����*%6�����

�� �� �� �� �� �� ������

!�

��� MM N'���� ��� ���������T�OC����

�����P������� I �CH����� �����%��8�������( *E����� �����P�������C

HHC

��� ���� ( *E ������� ��C����� �����C���MMN"��������6����%6OC666666���UU"������C���MMN"��������6�������%6OC66666666���UU"���������CF���MMN"��������6�����6��������%6OC666666666���UU�����C"�����'����P�������(�����*CFFH

��������� �� ���� ���� � ����

������ ����� �

����������������

Informatica – La Programmazione Orientata agli Oggetti

V������ M��������U���� ����� ��� ���C

�%��� ��������� E99 ��������� �������������+� ��������+��

��� ������C������ �������C������ ������C

99 ��������� ����� ��������+��

��� ������C��� �����C��� ������C

������������

,�

��� ������C���� ������C

���%��,

99 �����������

����������(��� ������& ������ �������& ������ ������* E���-������( ������*C���'������(�������*C���3�����(������*C������ I �C����� I ��C������ I ,�C������ I �����C

H

Page 16: La Programmazione Orientata agli Oggetti (O.O.P.) a oggetti... · Informatica – La Programmazione Orientata agli Oggetti La Programmazione Orientata agli Oggetti (O.O.P.) Roberta

Informatica – La Programmazione Orientata agli Oggetti

99 ������9������

���$���,

���� ���-������(��� * E ������ I CH���� ���3�����(������ �* E������ I �CH���� ���'������(������ �* E������� I �CH

���%��,

��� ���-������(* E����� ������CH������ ���3�����(* E����� ������CH������ ���'������(*E����� �������CH��� ���3�����(*E����� ������CH��� ���7����(*E����� �����CH��� ���1�����(*E����� ������CH���� ���3�����(��� �* E�� (�U� WW �M��* ������ I �CH

���� ������7����(*E�� (�����M5�* �����GGCH���� ���������7����(*E�� (�����U�* �������CH���� ������1�����(*E�� (������M��* ������ GGCH���� ���������1�����(*E

,�

��� ���� '( E���������� ������I ����������(,!&X1K�X&X����X*C��������������(*C�������������'��������(*C�������������7����(*C���MM����������3�����(*MM����C���MM����������3�����(*MM����C���MM ����������7����(*MM����CH

���� ���3�����(��� �* E�� (�U� WW �M��* ������ I �CH���� ��)�����(* E����� ������CH

99 ����������

���%��,

���� �������(* E������ I ���CH���� � ����(*E������ I �����CH���� ������3�����(*E�� (������M��* ������GGCH���� ���������3�����(*E�� (������U�* ��������CH

E�� (������U�* ��������CH

HC

Informatica – La Programmazione Orientata agli Oggetti

��������������

-�� ������� ��� ������� ������� ��������� �� ��������� ����� ������ (+A1*&��� ������� ������������� �� ��������& � �� ��������� �� ������ ������� �������� ��3GG �������� �� ������� �� ������������ �� �������%

�* 0������� � ��������� ����� � ��� �� ���� ������������ � ������������ �� �����/ �� ���������

!* '� ���� �� ��������� � ��� � ���������� ����� ��� ���� ����������� �� � ����� ��� �� ���� �� ��� �� ��� ������� �� ������ "� ��� 4 ������ �������� �� ������Y � �����Z� -�������� � ���������� ���� �������� �� ��������� �� ���������� ����� ���� ����������& � ���������� ����������� ��� ���� � ���

,!

������� ����� ���� ����������& � ���������� ����������� ��� ���� � ����������� ����� ������� � � ���������� ����������� �� ��������� � ��� ������� ��� ���������� ��������� �� ���������

,* "� ��������� �� ������ ������� ������������ ����� ���������� ��� ������ ��� �������������� � ����� ����� ��� ������� ("� ���������� �� ������ ������� � ������� ��������� ������������ ����� ���� ����������*�

.* '������ �� ��� ��������� �� � ��������� ��� ����� � �������� �� ��� ����� "� ���������� �� �������� ���� ������� � ������� �� ������ ����� ��������� ��������1� ��������� ������ �� ���������� �� ����� ��� ���� � �� ������� 1���������� ���� # ����� �� � ���� �� �� ���� � �����