Newsgroup: it.comp.programmare
Titolo: object oriented, object based, class based

Che differenza c'e' fra i tipi di linguaggi
in oggetto?
In particolare Visual Basic 6 a che categoria
appartiene?

 appartiene?
La seconda (in quando non è possibile separare nettamente interfaccia da
implementazione).
Ciao.
*** Azimuth ***

 implementazione.
</CITE>
E il concetto di oggetto? scusa ma non si parlava di *object* orientation?
gli algoritmi che ci azzeccano? forse il tuo tutorial trovato su internet
dice che oggetto=algoritmo? interfaccia di un algoritmo e sua
implementazione in un contesto object oriented non trovano spazio. Mi
dispiace dovertelo dire, ma qui una scusa sul fatto che fosse una
semplificazione non potrebbe passare, perchè semplificare va bene, parlare a
sproposito no. Non è una questione di purismo OO, ma il fatto è che tu hai
dimostrato con le tue affermazioni di non sapere praticamente le basi.
Algoritmicamente parlando sarai anche un mago, ma di sicuro dopo il tuo post
non mi fiderei mai a metterti a fare il progetto architetturale!
Non ti offendere, e scusa il tono scherzoso, ma dopo la tua superbia nei
post su python non ho resistito. Ah! un'altra cosa. Godel non dimostro
l'inassolutezza della matematica, ma solo l'incompletezza dei sistemi
logici. Sono due cose ben diverse!
Ciao,
--
----------------------------
Fulvio Esposito
"La differenza tra teoria e pratica e', in pratica, un po' piu' che in
teoria"
----------------------------

 implementazione.


 sulla eventuale possibilità di crearne di nuovi).
Falso, non vuol dire questo. Non e' previsto che vi sia alcun oggetto "gia'
predisposto", perche' un linguaggio sia definibile "object-based".
Con Object-Based si intende un linguaggio che si limita a implementare un
primo concetto legato alla OOP, l'incapsulamento, ma per il resto non
consente di fare altro.
Un esempio di linguaggio object-based ma non class-based, poi, e' il Turbo
Pascal dalla versione 5.5 alla versione 6.0 in cui c'era solo il concetto di
"object" e non quello di "class".
Il TP era, comunque, anche object-oriented.
--------------------------------
Inviato via 
http://usenet.libero.it

 logici. Sono due cose ben diverse!
Su cosa si fonda la matematica? Ti consiglio di studiare maggiormente la
materia... ho visto che hai fatto dei progressi dall'ultima volta...
*** Azimuth ***

 Toppato (guarda sopra per maggiori informazioni).
Toppato. (guarda sopra per maggiori informazioni).


 materia... ho visto che hai fatto dei progressi dall'ultima volta...
Per incompletezza di un sistema logico si intende l'indimostrabilità di
tutto ciò che può essere dimostrato vero. Esempio pratico, i paradossi, come
quello del cretese bugiardo o del barbiere di Russell. Con la logica
bivalente non possono essere dimostrati veri ma ad esempio estendendo la
logica bivalente con quella fuzzy, abbiamo risolto. Certo ci sarà qualcosa
che la logica fuzzy non potrà dimostrare, e quindi servirà estendere anche
quella, e così via. Ma se vuoi dimostrarmi che la matematica non è assoluta
prova a dimostrarmi che il teorema degli zeri non è valido nelle *ipotesi
date*. Il fatto sta tutto qui: ogni verità matematica non è assoluta nel
senso che per qualsiasi funzione vale il teorema degli zeri, ma assoluta nel
senso che ogni funzione che rispetta tale ipotesi verifica il teorema degli
zeri. Daltronde, il teorema degli zeri è una verità per una classe di
funzioni, e semplicemente per quella lo sarà sempre.
Fulvio


 consente di fare altro.
Di nuovo il consiglio di leggere l'articolo "Abstraction, Encapsulation and
Information hiding" di Ed Berard su 
www.toa.com
.
Guardare inoltre SELF come esempio di linguaggio object based.


 Information hiding" di Ed Berard su 
www.toa.com
.
Grazie, lo guardero', giusto per curiosita', quando avro' un po' di tempo ;)


 funzioni, e semplicemente per quella lo sarà sempre.
Anche la teoria secondo la quale si può costruire una macchina a moto
perpetuo è vera (nelle condizioni di non considerare la fonte di energia
facente parte dell'universo considerato), il che non mi autorizza a dire che
la teoria della macchina a moto perpetuo sia valida in termini assoluti.
Ripeto: riprendi a studiare e vedrai che ci arrivi.
*** Azimuth ***

 Ripeto: riprendi a studiare e vedrai che ci arrivi.
La questione lo studiata bene. E credo (con un po' di immodestia) di esserci
arrivato!
Ciao,


 news:80Z105Z34Z80Y1...@usenet.libero.it...
[cut]
In definitiva,
le tre caratteristiche principali che deve avere un
linguaggio per essere definito OO
dovrebbero essere (?):
1. Incapsulamento
2. Ereditarieta'
3. Polimorfismo
Ora, i linguaggi Object Based e Class Based hanno
entrambi l'incapsulamento, ma non ho capito se
il secondo ha l'ereditarieta'. E il polimorfismo?
Il VB6 quindi e' class based o object based?

 arrivato!
Sei ancora lontano dalla luce, IMHO.
Ciao.
*** Azimuth ***

 separazione tra interfaccia e implementazione.
Anche, perche' no ?
Che cosa mi vieta di pensare che un oggetto sia una scatola chiusa in cui
siano pubblicamente accessibili e invocabili le sue azioni (interfaccia) e
l'implementazione mi sia nascosta ? Dipende, poi, che cosa intendi tu per
"interfaccia" e "implementazione".


 "interfaccia" e "implementazione".
Il fatto č che tu hai progettato la classe di quegli oggetti in modo che
l'implementazione risulti davvero nascosta. Ma l'OO non vieta di farlo, in
quanto se lo proibisse, nessun linguaggio si potrebbe definire OO, perchč
praticamente tutti ti permettono di utilizzare dati membro pubblici, ad
esempio. Garantire separazione tra interfaccia e implementazione significa
progettare le classi in modo che queste non espongano dettagli
implementativi. E pongo l'accento sul fatto che č un sforzo in piů di
carattere umano, non una caratteristica intrinseca degli oggetti.
Ciao,
Fulvio

 ... e non mi pare arrivi a queste conclusioni.
Il fatto che non lo si dica esplicitamente non significa che tu non possa
applicare un pò di ragionamento! Se gli oggetti ci sono è almeno
Object-Based, se ci sono le strutture statiche è almeno class based, non c'è
ereditarietà ma un meccanismo basato sulla delegation che usano i linguaggi
Object-Based puri, quindi non è object oriented.
Ciao,
Fulvio

 implementativi.
Infatti, ma questo avviene normalmente.
