Краткий обзор и сравнение объектно-ориентированного программирования с C на Java

Опубликовано: 1 Декабря, 2021

В этой статье вы получите возможность подумать, как на самом деле ООП работает в Java через C.

С помощью C вы поймете концепцию полиморфизма , наследования , инкапсуляции , класса , объектов и т. Д. Как вы также знаете, язык C не поддерживает ООП, но мы можем понять концепцию, лежащую в основе этого, определив тонкую структуру как класс и Создание его идентичности как объекта.

Параллельно, через Java, мы можем понять, как это действительно работает с реальными классами и объектами.

Из этого сравнения мы получаем возможность думать о логике, лежащей в основе объектно-ориентированного программирования.

Понимание концепции сравнения

Ява

C

Класс в java (пример клиента) Структура, созданная в C (пример клиента)
Поля класса (пример int id, String name) Переменная присутствует в структуре (пример int id, char * name)
Конструктор присутствует в классе Функция создала и вернула указатель, который хранит данные в памяти кучи (пример cust * createCustomer)
Метод класса (Пример printCustomer) Функция создана (пример printCustomer)
Создание объекта из класса в Java Создайте экземпляр структуры 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));
// Similiar to 'this' in Java
this ->id = id;
this ->name = name;
return this ;
}
void printCustomer(cust* c)
{
printf ( "The Id is %d " , c->id);
printf ( "The name is %s " , 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 funtion printCustomer
printCustomer(c1);
// Free the allocated memory
free (c1);
return 0;
}

Ява

// 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();
}
}
Выход
 Идентификатор 25
Имя Сиддхартх

Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .