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
Java - Paragone Java-C
Forum - Java - Paragone Java-C

Avatar
Mattia99 (Member)
Rookie


Messaggi: 38
Iscritto: 19/02/2016

Segnala al moderatore
Postato alle 7:35
Giovedì, 21/04/2016
Ciao a tutti, ho da poco iniziato a studiare Java e adesso sto cominciando a vedere come funzionano le classe e gli oggetti.
Ho visto che le classi in java si comportano un po come le struct in c..(anche perche ai vari campi delle classi si accede con il punto, proprio come con le struct)
È un giusto paragone quello che faccio o sono due cose completamente diverse?

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 8:16
Giovedì, 21/04/2016
Le classi in Java sono una implementazione del paradigma oop, il corrispondente delle classi un c++.

Non è corretto accostare le classi del java alle struct del c perché le struct non hanno l'ereditarietà, principio fondante del costrutto classe inteso come costrutto della oop.

Inoltre java ha le strutture e se vuoi puoi dire che le strutture del c corrispondono a quelle di java.

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6402
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 8:51
Giovedì, 21/04/2016
"anche perche ai vari campi delle classi si accede con il punto, proprio come con le struct"

Questo fatto è irrilevante, soltanto una questione sintattica ... i due linguaggi non possono essere paragonati.

Fai un paragone tra Java e C++ se proprio vuoi ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Template (Member)
Pro


Messaggi: 177
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 9:04
Giovedì, 21/04/2016
Aggiungo un altro dettaglio: lo standard C non definisce le keywords "private" e "public", fondamentali per definire l'accessibilità ai membri ed ai metodi per le classi; da ciò, puoi facilmente dedurre che le struct in C non prevedano nativamente simili controlli sul loro contenuto.

Inoltre, già che ci siamo: le struct non possono contenere metodi, le classi si.


Comunque, al di là di queste due differenze e delle altre che ti hanno fatto notare, condivido quanto scritto da Nessuno:

Testo quotato

Postato originariamente da nessuno:
i due linguaggi non possono essere paragonati.

Fai un paragone tra Java e C++ se proprio vuoi ...



E ti raccomando, prima di iniziare con Java e l'OOP, di studiare a dovere il C, che male non può farti ;)

Ultima modifica effettuata da Template il 21/04/2016 alle 9:04
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 14:54
Giovedì, 21/04/2016
Testo quotato

Postato originariamente da Template:

Inoltre, già che ci siamo: le struct non possono contenere metodi, le classi si.


PM Quote
Avatar
Template (Member)
Pro


Messaggi: 177
Iscritto: 09/12/2015

Segnala al moderatore
Postato alle 14:59
Giovedì, 21/04/2016
Testo quotato

Postato originariamente da HeDo:
Giusto per fare il bastian contrario

http://stackoverflow.com/questions/17052443/c-function-ins ...



Ma in effetti, quello lì dentro è un puntatore, non una funzione :rotfl:

PM Quote
Avatar
lumo (Member)
Expert


Messaggi: 449
Iscritto: 18/04/2010

Segnala al moderatore
Postato alle 18:10
Giovedì, 21/04/2016
Il motivo della somiglianza tra strutture del C e classi del Java è che James Gosling creò Java basandosi su C++.
C++ a sua volta era una rivisitazione del C in chiave OOP (oggi è un mostro multitesta).
Come ti dicono gli altri la somiglianza si ferma al fatto di avere i fields, dopodiché l'approcio al problem solving con gli oggetti è diverso.

Tuttavia secondo me il paragone non è così satanico, volendola vedere in un certo modo la programmazione ad oggetti è una delle tante estensioni ovvie del paradigma procedurale e strutturato: una volta che si hanno funzioni che accettano sempre un puntatore ad una struttura dati fissa viene l'idea di creare i metodi, l'ereditarietà serve a evitare di duplicare, l'incapsulazione per forzare visibilita.

Poi ci sarebbe il discorso che "Smalltalk aveva un'idea diversa di OO blabla" ma non mi ci addentro.

PM Quote