Brief Overview & Comparison of Object-Oriented Programming from C to Java
Last Updated :
08 Dec, 2021
In this article, you will get the ability to think how really OOP works in Java through C.
Through C, you will understand the concept of Polymorphism, Inheritance, Encapsulation, Class, Objects, etc. As you also know C language don’t support OOP, but we can understand the concept behind it by defining a fine structure as a Class and Creating its Identity as an Object.
In Parallel, through Java, we can understand how it really works with actual Class & Object.
From this Comparison, we get the ability to think of Logic behind Object-Oriented Programming.
Understanding the Concept behind the Comparison
Java
|
C
|
Class in java (example Customer) |
A Structure created in C (example customer) |
Fields of the Class (example int id, String name) |
Variable present in Structure (example int id, char* name) |
Constructor present in Class |
Function created and returning a pointer which is storing the data in heap memory (Example cust* createCustomer) |
Method of the class (Example printCustomer) |
Function created (Example printCustomer) |
Creation of Object form the Class in Java |
Create an instance of struct customer |
C
#include <stdio.h>
#include <stdlib.h>
typedef struct customer {
int id;
char * name;
} cust;
cust* createCustomer( int id, char * name)
{
cust* this = (cust*) malloc ( sizeof (cust));
this ->id = id;
this ->name = name;
return this ;
}
void printCustomer(cust* c)
{
printf ( "The Id is %d\n" , c->id);
printf ( "The name is %s\n" , c->name);
}
int main()
{
cust* c1;
c1 = createCustomer(25, "Siddharth" );
printCustomer(c1);
free (c1);
return 0;
}
|
Java
import java.io.*;
class Cust {
int id;
String name;
Cust( int id, String name)
{
this .id = id;
this .name = name;
}
public void printCustomer()
{
System.out.println( "The Id is " + id);
System.out.println( "The name is " + name);
}
}
class GFG {
public static void main(String[] args)
{
Cust c1;
c1 = new Cust( 25 , "Siddharth" );
c1.printCustomer();
}
}
|
Output
The Id is 25
The name is Siddharth
Share your thoughts in the comments
Please Login to comment...