java class vs object how use class
У цьому підручнику ми детально обговоримо одну з концепцій OOPS. Ми вивчимо все про клас Java та об’єкт, а також приклади:
Ми знаємо, що об’єктно-орієнтоване програмування робить наголос на даних і таким чином обертається навколо об’єктів, які називаються об’єктами. Класи виступають як креслення цих об'єктів.
Давайте подивимося, як створити клас та його компоненти. Також ми навчимося створювати та ініціалізувати об'єкти в Java за допомогою прикладів програмування далі в цьому посібнику.
=> Завітайте сюди, щоб ознайомитись із ексклюзивною серією навчальних посібників Java.
Що ви дізнаєтесь:
Класи та об'єкти в Java
У Java всі функції, атрибути, методи тощо пов’язані з класами та об’єктами. Ми не можемо написати програму Java лише з основною функцією, не оголосивши клас так, як ми можемо це зробити в C ++.
Наприклад, якщо ми хочемо написати програму на транспортному засобі, транспортний засіб - це об’єкт реального часу. Але транспортні засоби можуть бути різних типів. Це означає, що транспортний засіб має атрибут типу, який може приймати різні значення, такі як автомобіль, вантажівка, скутер, велосипед тощо.
Отже, як ми виражаємо об’єкт транспортного засобу в Java, ми створюємо клас “Автомобіль”, а потім визначаємо різні його атрибути. Тоді ми можемо оголосити різні предмети класу Автомобіль, такі як автомобіль, велосипед тощо.
Усередині класу ми можемо визначити властивості Vehicle як атрибути класу (члени даних) та такі методи, як startVehicle (), stopVehicle () тощо.
Таким чином, щоб виразити навіть найменшу сутність в Java, нам потрібно спочатку ідентифікувати об’єкт, а потім визначити його план або клас.
Тож давайте спочатку дізнаємося все про класи та об’єкти, а потім перейдемо до інших концепцій ООП в Java.
Клас на Java
Для розробки програми на Java ми використовуємо об'єкти та класи. Хоча клас у Java є лише логічною одиницею, об'єкт у Java є одночасно фізичною та логічною сутністю.
Що таке об'єкт у Java?
Об'єкт - це сутність, яка має стан і поведінку проявів. Наприклад, будь-яка реальна істота, наприклад ручка, ноутбук, мобільний телефон, стіл, стілець, машина тощо, є предметом. Всі ці об'єкти є або фізичними (матеріальними), або логічними (нематеріальними).
Нематеріальними об'єктами в основному є система авіакомпаній, банківська система тощо. Це логічні сутності, що мають певний стан і поведінку.
Кожен об'єкт має такі основні характеристики:
- Особистість: Унікальний ідентифікатор визначає ідентичність об’єкта. Звичайний користувач не бачить цей ідентифікатор, але внутрішньо JVM використовує цей ідентифікатор для унікальної ідентифікації об’єкта.
- Штат: Він визначає наявні дані в об’єкті або значення об’єкта.
- Поведінка: Ця функція відображає функціональність (поведінку) об’єкта. Наприклад, обговорений вище об’єкт Vehicle має поведінку як запуск, зупинка тощо.
Ми переглянемо визначення об’єкта, коли визначимо клас.
То що таке клас?
Ми знаємо, що основним компонентом об’єктно-орієнтованого програмування є об’єкт. Якщо ми хочемо побудувати конкретний тип об’єкта, нам потрібен план. Цей план надасть нам набір інструкцій, які допоможуть нам побудувати об’єкт.
Наприклад, скажімо, ми хочемо побудувати будинок. Будинок тут - об’єкт. Для побудови будинку нам потрібен початковий проект будинку. Ми не можемо займатися безпосередньо будівництвом будинку як завгодно.
Ось тут клас входить у картину. Отже, щоб побудувати об’єкт або реальну сутність, спочатку ми отримаємо план, який визначає вміст та поведінку об’єкта. Це відомо як клас в об’єктно-орієнтованому програмуванні.
Тож клас можна визначити як “ план або шаблон, який визначає стан і поведінку об'єкта '.
Ми також можемо розглядати клас як групу об’єктів. Ця група має деякі властивості, загальні для всіх об’єктів.
Давайте подивимося, як створити клас на Java.
Як створити клас на Java
Загальний синтаксис класу визначення класу в Java:
class extends implements interface_name> { //fields; //constructors //methods; //blocks }
Вищезазначене загальне оголошення класу представлено на нижченаведеній діаграмі з прикладом оголошення класу:
Зверніть увагу, що суперклас та інтерфейс у оголошенні класу є необов’язковими. Ми можемо вибрати автономний клас, не переносячи його за межі іншого суперкласу або реалізуючи будь-який інтерфейс.
Вищезазначене загальне визначення також показало компоненти, які можуть бути присутніми у визначенні класу.
Компоненти класу
Компоненти класу представлені нижче.
Як показано на наведеній вище схемі, клас Java містить такі компоненти:
найкращий безкоштовний додаток для завантаження mp3 для android
- Поля
- Методи
- Конструктори
- Блоки
- Вкладений клас та інтерфейс
Перші три компоненти ми обговоримо далі. Ці компоненти необхідні в будь-якому класі. Вкладені класи та інтерфейси - це зовсім інша тема, про яку ми поговоримо у наступних підручниках.
Перш ніж розпочати обговорення компонентів класу, спершу визначимо клас Customer_Account
class Customer_Account { static String bank_name; //class variable long customer_accountNo; //instance variable String customer_name; //instance variable //constructor Customer_Account (long accountnum, String accName){ customer_accountNo = accountnum; customer_name = accName; } //method void printInfo(){ System.out.println ('Customer Account Details:'); System.out.println ('Customer Account Number: ' + customer_accountNo); System.out.println (' Customer Name: '+customer_name); } }
Поля
Поля - це змінні або дані класу. Поля також називаються змінними-членами в Java. Ми використовуємо терміни поле та змінна як взаємозамінні.
Зазвичай поля класу бувають двох типів:
# 1) Змінні класу: Змінні класу оголошуються словом “static” так, що вони є статичними змінними. Це означає, що цей тип змінної має лише одну копію на клас, незалежно від того, скільки екземплярів або об’єктів присутні для цього класу.
# 2) Змінні екземпляра: Це протилежність змінним класу. Члени даних називаються змінними екземпляра, оскільки ці змінні мають окрему пам’ять, виділену для них для кожного екземпляра класу під час виконання.
У наведеному вище визначенні класу ми показали як змінні класу, так і екземпляра. Змінна “bank_name”, оголошена зі статичним модифікатором, є змінною класу. Інші дві змінні “customer_accNo” та “customer_name” є змінними екземпляра.
Будівельник
Конструктори - це спеціальні методи, які зазвичай використовуються для ініціалізації екземпляра класу. Конструктори не мають типу повернення, вони мають те саме ім'я, що і клас, і можуть містити або не містити параметрів.
У наведеному вище визначенні класу ми маємо один конструктор.
Customer_Account (long accountnum, String accName)
Ми дізнаємось більше про конструктори в наступних підручниках.
Метод
Метод у класі Java - це функція, яка визначає поведінку об'єкта та його членів.
Метод класу створюється так само, як ми створюємо звичайні методи в програмі. Усередині методу класу ми можемо використовувати всі конструкції та функції, що надаються Java.
У нашому прикладі визначення класу ми маємо метод “printInfo”, який відображає різні члени даних класу.
Метод класу Java зазвичай має такий прототип:
method_name(parameter list…){ //code blocks }
До методів класів звертається екземпляр класу за допомогою оператора крапок. Отже, якщо ми створимо екземпляр відповідно до вищезазначеного класу “Customer_Account”, тоді ми можемо отримати доступ до printInfo, використовуючи наведений нижче рядок коду.
acc.printInfo();
Якщо access_modifier є статичним, то нам не потрібен екземпляр для доступу до методу. Ми можемо використовувати ім’я класу безпосередньо для доступу до методу як,
Custome_Account.printInfo ();
Приклад класу Java
Давайте реалізуємо простий приклад для демонстрації класу та об’єкта на Java.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Вихідні дані
Вищевказана програма оголошує клас студента. Він має три змінні екземпляра, а саме. student_id, student_name та student_marks.
Потім ми визначаємо клас Main, в якому ми оголошуємо об'єкт класу Student з ім'ям student_object. Потім, використовуючи оператор точки, ми отримуємо доступ до змінних екземпляра та друкуємо їх значення.
Наведена програма є прикладом основного методу поза класом.
У наведеному нижче прикладі ми матимемо основний метод у класі.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Вихідні дані
Вищевказана програма така ж, як і попередня програма, за винятком того, що основний метод знаходиться в класі Student.
Об'єкт на Java
Тепер у нас є достатньо знань про класи в Java, ми можемо перевизначити об’єкт з точки зору класу. Отже, об’єктом є екземпляр класу '. Таким чином, ми створюємо змінну або екземпляр типу class_name, і вона називається об'єктом.
Деякі моменти, які слід пам’ятати про об’єкт:
- Об’єкт розглядається як основна одиниця ООП разом із класом.
- Об’єкт - це одиниця виконання.
- Об'єкт називається екземпляром класу.
- Об'єкт має поведінку і стан.
- Об'єкт приймає всі властивості та атрибути класу, екземпляром якого він є. Але в будь-який момент кожен об’єкт має різні стани або значення змінних.
- Об’єкт використовується для представлення сутності реального часу в програмних додатках.
- Один клас може мати будь-яку кількість об’єктів.
- Об'єкти взаємодіють між собою за допомогою методів виклику.
Як інстансувати об'єкт
Декларація об’єкта також називається як інстанціювання об'єктів на Java. Оголошення об'єкта те саме, що і оголошення змінної.
Наприклад, клас Customer_Account, який ми оголосили вище, може бути використаний для оголошення об’єкта.
Таким чином, ми оголошуємо або створюємо екземпляр об'єкта Customer_Account наступним чином:
Customer_Account account;
Вищезазначений оператор оголошує або створює екземпляр об’єкта з назвою ‘account’ класу Customer_Account.
Зауважте, що коли ми створюємо екземпляр об’єкта класу, клас повинен суворо бути „конкретним класом”. Ми не можемо оголосити об’єкт абстрактного класу.
Наведене вище твердження оголошує лише об'єкт. Ми не можемо використовувати цю змінну для виклику методів класу або встановлення значень змінних-членів. Це тому, що ми не виділили жодної пам'яті для оголошеного об'єкта.
Тому ми повинні правильно створити об’єкт, щоб використовувати його далі.
Фактичне створення об'єкта здійснюється шляхом ініціалізації об'єктів. Після оголошення об’єкта нам потрібно його ініціалізувати. Тоді лише ми можемо використовувати цей об’єкт для доступу до змінних-членів та методів класу.
Як створити об'єкт
Ми можемо створити об’єкт у Java, використовуючи такі методи:
# 1) Використання нового ключового слова
Ми можемо ініціалізувати об’єкт, використовуючи нове ключове слово. Цей метод є найбільш часто використовуваним способом створення нового об’єкта.
Наприклад,для класу ABC ми можемо створити новий об’єкт класу наступним чином:
ABC myObj = new ABC ();
У наведеному вище твердженні myObj - це новий об’єкт, створений за допомогою нового оператора. Об'єкт, створений за допомогою цього методу, має початкові значення всіх членів даних. Конструкція ABC () після нового ключового слова є конструктором за замовчуванням класу ABC.
Ми також можемо визначити конструктори з параметрами і викликати цей конструктор за новим ключовим словом, щоб ми створили об'єкт із бажаними значеннями членів даних.
# 2) Використання методу Class.forName ()
Java пропонує клас із назвою “Class”, який зберігає всю інформацію про класи та об’єкти в системі. Ми можемо використовувати метод forName () класу ‘Class’ для створення об’єкта. Потрібно передати повну назву класу як аргумент методу forName.
Тоді ми можемо викликати метод newInstance (), який поверне екземпляр класу.
Наступні рядки коду це показують.
ABC myObj = Class.forName (“com.myPackage.ABC”).newInstance();
Наведене вище твердження створить новий об'єкт myObj класу ABC.
# 3) Методом clone ()
Клас об'єкта в Java забезпечує метод clone (), який повертає клон або копію об'єкта, переданого як аргумент методу clone ().
Наприклад,
ABC myobj1 = new ABC (); ABC testObj = (ABC) myobj1.clone ();
# 4) шляхом десериалізації
Java пропонує техніку, яка називається десериалізацією, коли ми читаємо об'єкт із збереженого файлу. Ми будемо вивчати десериалізацію в окремому підручнику.
Як ініціалізувати об’єкт
У цьому розділі ми обговоримо методи ініціалізації об’єкта в Java. Ініціалізація відноситься до присвоєння значень членам даних класу. Нижче наведено деякі методи, які використовуються для ініціалізації об'єктів у Java.
# 1) Ініціалізуйте об’єкт за допомогою посилання
Створений об'єкт посилання використовується для зберігання значень в об'єкті. Це робиться просто за допомогою оператора присвоєння.
Ініціалізація об’єкта за допомогою посилання показана в програмі нижче.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members using reference student_object.student_id = 101; student_object.student_name = 'Elena'; student_object.student_marks = 89.93; //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Вихідні дані
Вищевказана програма оголошує клас Student із тричленними змінними. Тоді в основному методі ми створюємо об’єкт класу Student за допомогою нового ключового слова. Потім ми призначаємо дані кожному з полів-членів об’єкта, як показано в програмі.
# 2) Ініціалізація об’єкта через метод
У цьому прикладі ми створюємо два об’єкти класу Student та ініціалізуємо значення для цих об’єктів, викликаючи метод insertRecord. Метод insertRecord є методом-членом класу Student.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //method to initialize class data members void initialize_object(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args()){ //create a Student object using new operator Student student_object = new Student(); //initialization of class members through method student_object.initialize_object(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Вихідні дані
# 3) Ініціалізація об’єкта через конструктор
Ми також можемо ініціалізувати об'єкт за допомогою конструктора.
Програма для демонстрації використання конструктора наведена нижче.
//declare a class with three data members class Student{ int student_id; String student_name; Double student_marks; //constructor for initialization Student(int id, String name, double marks) { student_id = id; student_name = name; student_marks = marks; } } class Main{ public static void main(String args()){ //create a Student object using new operator and initialize it with constructor Student student_object = new Student(27, 'Stefan', 78.86); //display data members of the class. System.out.println('Student Id:' + student_object.student_id); System.out.println('Student Name:' + student_object.student_name); System.out.println('Student Marks:' + student_object.student_marks); } }
Вихідні дані
У цій програмі клас `Student має параметризований конструктор, який приймає параметри та призначає їх змінним-членам.
Об’єкт класу проти Java
Клас | Об'єкт |
---|---|
Поле члена класу не має значень. | Кожен об'єкт має копію полів-членів та пов'язаних із ними значень. |
Клас - це шаблон або проект створення об'єкта. | Об'єкт є екземпляром класу. |
Клас не виділяє жодної пам'яті при створенні. | Об'єкту при створенні виділяється пам'ять. |
Клас - це логічна сутність. | Об'єкт - це фізична сутність. |
Клас оголошується за допомогою ключового слова class. | Об'єкт створюється за допомогою нових методів forName () .newInstance (), clone (). |
Клас - це група однакових об'єктів. Наприклад Клас Тварини (). | Об'єкт - це конкретна сутність. Наприклад Тварини собака = нові Тварини (); |
Клас може бути оголошений лише один раз. | Клас може мати будь-яку кількість екземплярів або об’єктів. |
Часті запитання
Q # 1) Яка різниця між класом та об’єктом?
Відповідь: Клас - це шаблон, який використовується для створення об’єктів. Об'єкт - це екземпляр класу. Хоча клас - це логічна сутність, об’єкт - це фізична сутність. Кожен об'єкт має стан, в якому всі змінні-члени мають певні значення. Клас не має стану.
Q # 2) Що містить клас Java?
Відповідь: Клас Java, який діє як шаблон або проект створення об'єктів, визначає властивості або поля та поведінку або методи.
Q # 3) Чому ми використовуємо класи в Java?
Відповідь: Використовуючи класи та об'єкти, ми можемо моделювати реальні програми на Java і таким чином ефективно їх вирішувати. Об'єкти зі станом і поведінкою представляють реальні сутності, а класи виступають як їх креслення. Отже, використовуючи класи як будівельні блоки, ми можемо моделювати будь-яку складну програму.
Q # 4) Поясніть клас та об’єкт на прикладі з реального життя.
Відповідь: Якщо ми приймаємо автомобіль як об'єкт, то автомобіль може мати такі атрибути, як марка, колір, двигун, пробіг тощо. Він також може мати деякі методи, такі як start (), stop (), applybrakes (). Таким чином, ми можемо моделювати автомобіль у програмний об'єкт. Тепер машина може мати різні марки, такі як Maruti, fiat тощо.
Отже, щоб представити всі ці моделі автомобілів, ми можемо мати шаблон класу, який буде містити всі загальні атрибути та методи, визначені, щоб ми могли створити екземпляр цього класу та отримати бажаний об’єкт автомобіля.
Таким чином, реальний автомобіль-об'єкт можна легко перетворити на об'єкт на Java.
Висновок
У цьому посібнику ми дізналися деталі класів та об'єктів у Java. Ми розглянули визначення класу та об'єкта. У підручнику детально обговорено визначення класу, компонентів класу, а також приклади використання класу в програмі.
Ми також дізналися деталі об'єктів у Java, включаючи їх декларування, створення, ініціалізацію тощо на відповідних прикладах програмування.
Ми дослідили основні відмінності між класом та об’єктами. У наступних уроках ми обговоримо типи класів та конструктори в класі, слідуючи яким ми перейдемо до інших тем.
=> Тут слідкуйте за простими навчальними серіями Java.
Рекомендована література
- Основи Java: Синтаксис Java, клас Java та основні концепції Java
- Java Integer та клас Java BigInteger з прикладами
- Що таке Java Java | Підручник з класу Java Vector з прикладами
- ООП Java: Вступ до об’єктно-орієнтованого програмування на Java
- Підручник з класу масивів Java - java.util.Arrays Class з прикладами
- Підручник з класу сканера Java із прикладами
- Масив об'єктів у Java: Як створити, ініціалізувати та використовувати
- Типи занять на Java: абстрактні, конкретні, заключні, статичні