Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - Oggetti in Turbo Pascal.
Forum - Pascal - Oggetti in Turbo Pascal.

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedė, 01/01/1970
Vi chiedo solo di esaminare questo sorgente:

program Programma;
type oggetto=object
    private
      a:integer;
    public
      constructor costruttore;
      destructor distruttore;
end;

var o:oggetto;

constructor oggetto.costruttore;
begin
  a:=0;
end;

destructor oggetto.distruttore;
begin
(* Distrutture *)
end;

begin
  o.costruttore;
  writeln('a= ',o.a);
  o.a:=500;
  writeln('Ora a vale ',o.a);
  o.distruttore;
  readln;
end.

:-?   Il fatto č che funziona correttamente...

Grazie per l' attenzione, saluti.

Ultima modifica effettuata da il 29/12/2009 alle 14:16
PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 12:16
Mercoledė, 30/12/2009
Secondo me anche la variabile "a" deve essere pubblica perchč possa essere usata dal Writeln.

PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 13:56
Mercoledė, 30/12/2009
Il programma funziona!!8-|

L' ho provato in Turbo Pascal 7 e in Dev Pascal 1.9

Non riesco proprio a capire il significato dei qualificatori private, public, protect in Pascal.
  

Ultima modifica effettuata da il 30/12/2009 alle 13:57
PM Quote
Avatar
Pippo_94 (Normal User)
Rookie


Messaggi: 32
Iscritto: 18/05/2009

Segnala al moderatore
Postato alle 23:59
Mercoledė, 30/12/2009
Se usi una classe oggetto, dovresti creare un metodo pubblico che mandi a schermo la variabile (principio della programmazione ad oggetti), quindi il programma sarebbe stato meglio cosė:
Codice sorgente - presumibilmente Delphi

  1. Program ShowNumber;
  2.  
  3. Type Numero = Object
  4.   Private
  5.     num : Integer;
  6.   Public
  7.     Constructor Make;
  8.     Destructor Smash;
  9.     Procedure Show;
  10.     Procedure Add_500;
  11. End;
  12.  
  13. Var number : Numero;
  14.  
  15. Constructor number.Make;
  16. Begin
  17.   num := 0;
  18. End;
  19.  
  20. Destructor number.Smash;
  21. Begin
  22. (* Total Destroy!!! *)
  23. End;
  24.  
  25. Procedure number.Show;
  26. Begin
  27.   WriteLn('Valore numero => ", num);
  28. End;
  29.  
  30. Procedure number.Add_500;
  31. Begin
  32.  num := 500;
  33. End;
  34.  
  35. Begin
  36.  number.Make;
  37.  number.Show;
  38.  number.Add_500;
  39.  number.Show;
  40.  number.Smash;
  41.  ReadLn;
  42. End.



PM Quote
Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 10:57
Giovedė, 31/12/2009
Vi ringrazio molto per la vostra attenzione!

E' vero . :k:Da un punto di vista logico i vostri suggerimenti funzionano!!
:alert: Ma avete provato a eseguire il mip programma in Turbo Pascal 7 o Dev Pascal 1.9 ?
Vi ripeto che a me non fa una grinza!

Ultima modifica effettuata da il 31/12/2009 alle 11:11
PM Quote