lezione 02 - memoria e costruttorioop gli oggetti e la memoria cc by diapositiva 2 alessandro...
TRANSCRIPT
OOP
Gli oggetti e la memoria
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 2
COSA ACCADE IN MEMORIA
� OOP
Contatore
int valore
void incrementa()
void decrementa()
void reset()
��������������� ���������� ��
����������� ��������������� ���������� �������������
�������������� ������������� ����������������������� ������������������������������������������������������ �������������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 3
��������������� ���������� ��
����������� ��������������� ���������� �������������
COSA ACCADE IN MEMORIA
� OOP
Contatore
int valore
void incrementa()
void decrementa()
void reset()
�������������� ������������� ����������������������� ������������������������������������������������������ �������������
1000 c
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 4
��������������� ���������� ��
����������������������������������� ���������� �������������
��������������� �� ����������������� �������� ���������������������� ����������������������������
COSA ACCADE IN MEMORIA
� OOP
Contatore
int valore
void incrementa()
void decrementa()
void reset()
�������������� ������������� ����������������������� ������������������������������������������������������ �������������
����������� � ����� �������������������������������������������
1000 c
1076 valore
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 5
��������������� ���������� ��
����������������������������������� ���������� �������������
COSA ACCADE IN MEMORIA
� OOP
Contatore
int valore
void incrementa()
void decrementa()
void reset()
�������������� ������������� ����������������������� ������������������������������������������������������ �������������
��������������� �� ����������������� �������� ���������������������� ����������������������������
����������� � ����� �������������������������������������������
����� � �� ����������������� �����������������1076 valore
1000 c
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 6
������� �����
��������������� ���������� ��
����������������������������������� ���������� �������������
COSA ACCADE IN MEMORIA
� OOP
Contatore
int valore
void incrementa()
void decrementa()
void reset()
�������������� ������������� ����������������������� ������������������������������������������������������ �������������
!� ���� �������� ������������������������������"�����#
��������������� �� ����������������� �������� ���������������������� ����������������������������
����������� � ����� �������������������������������������������
����� � �� ����������������� �����������������1076 valore
1000 c
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 7
Data
int giorno
int mese
int anno
...
FACCIAMO UN ALTRO ESEMPIO
� OOP
������������������������������
2048 d
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 8
Data
int giorno
int mese
int anno
...
FACCIAMO UN ALTRO ESEMPIO
� OOP
������ ����� �����������������
2048 d
1994 giorno
mese
anno
������������������������������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 9
Data
int giorno
int mese
int anno
...
FACCIAMO UN ALTRO ESEMPIO
� OOP
2048 d
1994 giorno
mese
anno
�������� ���� �������
������ ����� �����������������
������������������������������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 10
Data
int giorno
int mese
int anno
...
FACCIAMO UN ALTRO ESEMPIO
� OOP
2048 d
1994 giorno
mese
anno�����������������������������
2010 k
�������� ���� �������
������ ����� �����������������
������������������������������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 11
Data
int giorno
int mese
int anno
...
FACCIAMO UN ALTRO ESEMPIO
� OOP
2048 d
1994 giorno
mese
anno
2010 k ������ ��� �������
�����������������������������
�������� ���� �������
������ ����� �����������������
������������������������������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 12
Data
int giorno
int mese
int anno
...
FACCIAMO UN ALTRO ESEMPIO
� OOP
2048 d
1994 giorno
mese
anno
2010 k
���� ��� ������������ ��
������ ��� �������
�����������������������������
�������� ���� �������
������ ����� �����������������
������������������������������
OOP
Il costruttore
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 14
IL COSTRUTTORE IMPLICITO
� OOP
$��������������� ������� ������������%� ��& ������������� �& ����������
����������������'������������������
!� �������������(������������� �����������������������������������
)���������� �%� ���������������� ��������������������������������*"������ ����������� ���������������#
��������������� ���������� ������������ ��
����������� ����� �������� ���!�"������ �
!� ��������� ��� ������������������������������
$�������+�,��������� ����� ��� ��������� ���������������������������������'�������������������� ������������������������������ ������ �
���� ����-�������� � ������� ������ ��������������+
����������� ����� ��
��������������� ���������� ��
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 15
IL COSTRUTTORE PROPRIO
� OOP
����������������� ��������������������� ���������� �����������
# $������� ���� %��������$ ����� ������&�����&������
���������� �����
���' �������������������������(
����� ����������� ������� � �������������� ������ ����� ����������������� ������ ���� � ������������+�
�������-� ����������� �����������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 16
# $������� ���� %��������$ ����� ������&�����&������
���������� �����
���' �������������������������(
IL COSTRUTTORE PROPRIO
� OOP
����������������� ��������������������� ���������� �����������
# $������� ���� %��������$ ����� ������&�����&������
���������� ���������� �%
������� )*�������+�������)*,-�
(
���' �������������������������(
����� ����������� ������� � �������������� ������ ����� ����������������� ������ ���� � ������������+�
�������-� ����������� �����������
$� ����� ��������������������
������������������������� � ��
����(��������������������������������������������� � � ��
������������ ���������
����������� ����� �������� ���!�"������ �
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 17
IL COSTRUTTORE CONPARAMETRI
� OOP
$������������ ������ � ������������������������� ������������������������������������� ��������������
����������������������������� ����� ����
�������#������������������ �)*������� �+������� �)*,-�
# $������� ���� %��������$ ����� ������&�����&������
���������� ������������� �&���� �&���� � �%
��������������������������
(
���' �������������������������(
������������������������������� ��������������������������
����������� �����).&�).&�)*-* ��
.�� � �����%���� ��������
�� ����������������������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 18
# $������� ���� %��������$ ����� ������&�����&������
���������� ������������� �&���� �&���� � �%
��������������������������
(
���' �������������������������(
� OOP
!��������������������������������������������� �������� �
# $������� ���� %��������$ ����� ������&�����&������
���������� ������������� ������&���� �&���� � �%
�������������������������������
(
���' �������������������������(
���%� ���� �������� �����������
IL COSTRUTTORE CONPARAMETRI
����� ����������� ��� ��������/
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 19
# $������� ���� %��������$ ����� ������&�����&������
���������� ������������� ������&���� �&���� � �%
����������� ������������������������
(
���' �������������������������(
� OOP
���%� ����� �� ��� ������������������� ����� ����������������������������������
# $������� ���� %��������$ ����� ������&�����&������
���������� ������������� ������&���� �&���� � �%
�������������������������������
(
���' �������������������������(
IL RIFERIMENTO THIS
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 20
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
(
PIÙ DI UN COSTRUTTORE
� OOP
0������������ ���������� ��������������� � ������ �������1��������� ��������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 21
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
(
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� ������������#��������
/������ %
���� ��� ��� ������� ��
(
(
PIÙ DI UN COSTRUTTORE
� OOP
0������������ ���������� ��������������� � ������ �������1��������� ��������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 22
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� ������������#��������
/������ %
���� ��� ��� ������� ��
(
(
PIÙ DI UN COSTRUTTORE
� OOP
0������������ ���������� ��������������� � ������ �������1��������� ��������
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� ������������#��������
/������ %
���� ��� ��� ������� ��
(
������� ���������� ��#��������
/��������� �& ��� � %
���� ��
��� ��� ��
������� ��
(
(
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 23
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� ������������#��������
/������ %
���� ��� ��� ������� ��
(
������� ���������� ��#��������
/��������� �& ��� � %
���� ��
��� ��� ��
������� ��
(
(
PIÙ DI UN COSTRUTTORE
� OOP
0������������ ���������� ��������������� � ������ �������1��������� ��������
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� ������������#��������
/������ %
���� ��� ��� ������� ��
(
������� ���������� ��#��������
/��������� �& ��� � %
���� ��
��� ��� ��
������� ��
(
������� �������������#��������
/��������� �& ��� �& ��� � %
���� ��
��� ��� ��
������� ��
(
(
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 24
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� �������������#��������
/��������� �& ��� �& ��� � %
���� ��
��� ��� ��
������� ��
(
(
PIÙ DI UN COSTRUTTORE
� OOP
2���� ������� ����������������� ����� ����������� ������������� ���������������������������������������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 25
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� �������������#��������
/��������� �& ��� �& ��� � %
���� ��
��� ��� ��
������� ��
(
(
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� �������������#��������
/��������� �& ��� �& ��� � %
���� ��
��� ��� ��
������� ��
(
������� ������������#��������
/������ %
������&�&� �
(
(
PIÙ DI UN COSTRUTTORE
� OOP
2���� ������� ����������������� ����� ����������� ������������� ���������������������������������������
CC BY
ALESSANDRO URSOMANDODIAPOSITIVA 26
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� �������������#��������
/��������� �& ��� �& ��� � %
���� ��
��� ��� ��
������� ��
(
������� ������������#��������
/������ %
������&�&� �
(
(
# $�� ���� /������%
��������$ ��
��� ���& ��� ��& �������
������� �������������#��������
/��������� �& ��� �& ��� � %
���� ��
��� ��� ��
������� ��
(
������� ������������#��������
/������ %
������&�&� �
(
������� ���������� ��#��������
/��������� �& ��� � %
������&�&� �
(
(
PIÙ DI UN COSTRUTTORE
� OOP
2���� ������� ����������������� ����� ����������� ������������� ���������������������������������������