lezione 02 - memoria e costruttoriOOP Gli oggetti e la memoria CC BY DIAPOSITIVA 2 ALESSANDRO...

Post on 18-Sep-2020

0 views 0 download

Transcript of lezione 02 - memoria e costruttoriOOP Gli oggetti e la memoria CC BY DIAPOSITIVA 2 ALESSANDRO...

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���� ������� ����������������� ����� ����������� ������������� ���������������������������������������