Разлика между клас и обект в ООП
Основни разлики между клас и обект
- Класът е шаблон за създаване на обекти в програма, докато обектът е екземпляр на клас.
- Класът е логическа единица, докато обектът е физическа единица.
- Класът не разпределя място в паметта; от друга страна, обектът разпределя пространство в паметта.
- Можете да декларирате клас само веднъж, но можете да създадете повече от един обект с помощта на клас.
- Класовете не могат да бъдат манипулирани, докато обектите могат да бъдат манипулирани.
- Класовете нямат никакви стойности, докато обектите имат свои собствени стойности.
- Можете да създадете клас, като използвате ключовата дума „class“, докато ръчно можете да създадете обект, като използвате ключова дума „new“ in Java.
Какво е клас?
Класът е обект, който определя как ще се държи даден обект и какво ще съдържа обектът. С други думи, това е план или набор от инструкции за изграждане на конкретен тип обект. Той предоставя начални стойности за членски променливи и членски функции или методи.
Какво е обект?
Един обект не е нищо друго освен самостоятелен компонент, който се състои от методи и свойства, за да направят данните полезни. Помага ви да определите поведението на класа.
Например, когато изпратите съобщение до обект, вие молите обекта да извика или изпълни един от своите методи.
От гледна точка на програмиране, един обект може да бъде структура от данни, променлива или функция, която има разпределено място в паметта. Обектът е проектиран като йерархии на класове.
Клас срещу обект – разлика между тях
Ето важната разлика между клас и обект:
клас | Обект |
---|---|
Класът е шаблон за създаване на обекти в програмата. | Обектът е екземпляр на клас. |
Класът е логическа единица | Обектът е физическо лице |
Класът не разпределя място в паметта, когато е създаден. | Обектът разпределя място в паметта всеки път, когато бъде създаден. |
Можете да декларирате клас само веднъж. | Можете да създадете повече от един обект с помощта на клас. |
Пример: Кола. | Пример: Jaguar, BMW, Tesla и др. |
Класът генерира обекти | Обектите осигуряват живот на класа. |
Класовете не могат да бъдат манипулирани, тъй като не са налични в паметта. | Те могат да бъдат манипулирани. |
Той няма никакви стойности, които са свързани с полетата. | Всеки обект има свои собствени стойности, които са свързани с полетата. |
Можете да създадете клас, като използвате ключова дума „клас“. | Можете да създадете обект, като използвате ключова дума „нова“ в Java |
Разберете концепцията за Java Класове и обекти с пример.
Да вземем пример за разработване на система за управление на домашни любимци, специално предназначена за кучета. Ще ви трябва различна информация за кучетата като различни породи кучета, възраст, размер и т.н.
Трябва да моделирате същества от реалния живот, т.е. кучета в софтуерни обекти.
Освен това въпросът за милион долара е как проектирате такъв софтуер? Ето го решението-
Първо, нека направим едно упражнение.
Можете да видите снимката на три различни породи кучета по-долу.
Спрете тук веднага! Избройте разликите между тях.
Някои от разликите, които може би сте изброили, може би са порода, възраст, размер, цвят и т.н. Ако се замислите за минута, тези разлики са също някои общи характеристики, споделяни от тези кучета. Тези характеристики (порода, възраст, размер, цвят) могат да формират членове на данни за вашия обект.
След това избройте често срещаните поведения на тези кучета като сън, седене, хранене и т.н. Така че това ще бъдат действията на нашите софтуерни обекти.
Досега дефинирахме следните неща,
- клас: Кучета
- Членове на данни or обекти: размер, възраст, цвят, порода и др.
- Методи: яж, спи, седи и тичай.
Сега, за различни стойности на членовете на данните (размер на породата, възраст и цвят) в Java клас, ще получите различни предмети за кучета.
Можете да проектирате всяка програма, като използвате този OOPs подход.
Класове и обекти в Java
В програмата по-долу сме декларирали клас, наречен Dog. Дефинирахме обект от класа, наречен „maltese“, използвайки нова ключова дума. В последния израз System.out.println(maltese.getInfo()); ние показваме информация за куче като порода, размер, възраст, цвят и т.н.
// Class Declaration class Dog { // Instance Variables String breed; String size; int age; String color; // method 1 public String getInfo() { return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); } } public class Execute{ public static void main(String[] args) { Dog maltese = new Dog(); maltese.breed="Maltese"; maltese.size="Small"; maltese.age=2; maltese.color="white"; System.out.println(maltese.getInfo()); } }
Изход:
Породата е: Малтийска болонка Размерът е: Малък Възрастта е:2 Цветът е: бял
Видове класове
Следват важните типове класове:
Производни класове и наследяване
Производен клас е клас, който е създаден или извлечен от друг клас за копаене. Използва се за увеличаване на функционалността на базовия клас. Този тип клас произлиза и наследява свойства от съществуващ клас. Може също така да добавя или споделя/разширява свои собствени свойства.
Суперкласове:
Суперкласът е клас, от който можете да извлечете много подкласове.
Подкласове:
Подклас е клас, който произлиза от суперклас.
Смесени класове
Смесеният клас е още една функционалност, която ви помага да наследите свойствата на един клас на друг. Той използва подмножество от функционалността на класа, докато производният клас използва пълния набор от функционалност на суперкласа.
Използване на класа
Ето важните употреби на класа:
- Класът се използва за съхранение както на променливи данни, така и на членски функции.
- Позволява ви да създавате дефинирани от потребителя обекти.
- Класът предоставя начин за организиране на информация за данни.
- Можете да използвате клас, за да наследите свойството на друг клас.
- Класовете могат да се използват, за да се възползвате от конструктора или деструктора.
- Може да се използва за голямо количество данни и сложни приложения.
Използване на обект
Ето важните употреби на даден обект
- Помага ви да знаете вида на приетото съобщение и вида на върнатите отговори.
- Можете да използвате обект за достъп до част от паметта, като използвате референтна променлива на обект.
- Използва се за манипулиране на данни.
- Обектите представляват проблем от реалния свят, за който намирате решение.
- Той позволява на членовете с данни и функциите на членовете да изпълняват желаната задача.