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