Краткий обзор и сравнение объектно-ориентированного программирования с C на Java
В этой статье вы получите возможность подумать, как на самом деле ООП работает в 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 и многому другому, см. Полный курс подготовки к собеседованию .