Monday, November 18, 2024
Google search engine
HomeLanguagesJavaBrief Overview & Comparison of Object-Oriented Programming from C to Java

Brief Overview & Comparison of Object-Oriented Programming from C to Java

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




// Adding the necessary header files
#include <stdio.h>
#include <stdlib.h>
 
// customer structure
typedef struct customer {
    int id;
    char* name;
 
    // cust is an alias used for struct customer by using
    // typedef
} cust;
 
cust* createCustomer(int id, char* name)
{
    // Memory allocation in the Heap
    cust* this = (cust*)malloc(sizeof(cust));
 
    // Similar to 'this' in Java
    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()
{
    // Create an instance of struct customer Similar
    // to creation of Object form the Class in Java
    cust* c1;
 
    // Adding the Arguments in the function
    // is similar to adding arguments in methods of the Java
    // Class
    c1 = createCustomer(25, "Siddharth");
 
    // Calling the function printCustomer
    printCustomer(c1);
 
    // Free the allocated memory
    free(c1);
 
    return 0;
}


Java




// import the required classes
 
import java.io.*;
 
class Cust {
    int id;
    String name;
 
    // constructor
    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)
    {
        // Object declaration
        Cust c1;
 
        // object Initialisation
        c1 = new Cust(25, "Siddharth");
 
        // Calling the method of cust
        // class
        c1.printCustomer();
    }
}


Output

The Id is 25
The name is Siddharth

 

Dominic Rubhabha-Wardslaus
Dominic Rubhabha-Wardslaushttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Recent Comments