В този урок ще научите за концепцията за класове и обекти в Java с помощта на примери.
Java е обектно-ориентиран език за програмиране. Основната концепция на обектно-ориентирания подход е разбиването на сложни проблеми на по-малки обекти.
Обект е всеки обект, който има състояние и поведение . Например, велосипедът е обект. То има
- Състояния : празен ход, първа предавка и т.н.
- Поведения : спиране, ускоряване и т.н.
Преди да научим за обектите, нека първо знаем за класовете в Java.
Клас Java
Класът е план за обекта. Преди да създадем обект, първо трябва да дефинираме класа.
Можем да възприемаме класа като скица (прототип) на къща. Той съдържа всички подробности за подовете, вратите, прозорците и др. Въз основа на тези описания изграждаме къщата. Къщата е обектът.
Тъй като много къщи могат да бъдат направени от едно и също описание, ние можем да създадем много обекти от клас.
Създайте клас в Java
Можем да създадем клас в Java, използвайки ключовата дума class. Например,
class ClassName ( // fields // methods )
Тук полетата (променливите) и методите представляват съответно състоянието и поведението на обекта.
- полетата се използват за съхраняване на данни
- методи се използват за извършване на някои операции
За нашия велосипеден обект можем да създадем класа като
class Bicycle ( // state or field private int gear = 5; // behavior or method public void braking() ( System.out.println("Working of Braking"); ) )
В горния пример създадохме клас на име Bicycle. Той съдържа поле с име зъбно колело и метод, наречен спиране ().
Тук Bicycle е прототип. Сега можем да създадем произволен брой велосипеди, използвайки прототипа. И всички велосипеди ще споделят полетата и методите на прототипа.
Забележка : Използвали сме ключови думи private
и public
. Те са известни като модификатори на достъпа. За да научите повече, посетете модификаторите за достъп на Java.
Java обекти
Обект се нарича екземпляр на клас. Например, да предположим, че Bicycle е клас, тогава MountainBicycle, SportsBicycle, TouringBicycle и т.н.могат да се разглеждат като обекти на класа.
Създаване на обект в Java
Ето как можем да създадем обект от клас.
className object = new className(); // for Bicycle class Bicycle sportsBicycle = new Bicycle(); Bicycle touringBicycle = new Bicycle();
Използвахме new
ключовата дума заедно с конструктора на класа, за да създадем обект. Конструкторите са подобни на методите и имат същото име като класа. Например, Bicycle()
е конструкторът на класа Bicycle. За да научите повече, посетете Java Constructors.
Тук sportsBicycle и touringBicycle са имената на обектите. Можем да ги използваме за достъп до полета и методи на класа.
Както можете да видите, ние създадохме два обекта от класа. Можем да създадем множество обекти от един клас в Java.
Забележка : Полета и методи на клас също се наричат членове на класа.
Достъп до членове на клас
Можем да използваме името на обектите заедно с .
оператора за достъп до членове на клас. Например,
class Bicycle ( // field of class int gear = 5; // method of class void braking() (… ) ) // create object Bicycle sportsBicycle = new Bicycle(); // access field and method sportsBicycle.gear; sportsBicycle.braking();
В горния пример създадохме клас на име Bicycle. Включва поле с име gear и метод с име braking()
. Забележете изявлението,
Bicycle sportsBicycle = new Bicycle();
Тук създадохме обект на Велосипед, наречен sportsBicycle. След това използваме обекта за достъп до полето и метода на класа.
- sportsBicycle.gear - достъп до полевата екипировка
- sportsBicycle.braking () - достъп до метода
braking()
Ние споменахме думата метод доста пъти. Ще научите подробно за Java методите в следващата глава.
Сега, когато разбираме какво е клас и обект. Нека видим напълно работещ пример.
Пример: Java клас и обекти
class Lamp ( // stores the value for light // true if light is on // false if light is off boolean isOn; // method to turn on the light void turnOn() ( isOn = true; System.out.println("Light on? " + isOn); ) // method to turnoff the light void turnOff() ( isOn = false; System.out.println("Light on? " + isOn); ) ) class Main ( public static void main(String() args) ( // create objects led and halogen Lamp led = new Lamp(); Lamp halogen = new Lamp(); // turn on the light by // calling method turnOn() led.turnOn(); // turn off the light by // calling method turnOff() halogen.turnOff(); ) )
Изход :
Светлина? истинска светлина на? невярно
В горната програма създадохме клас на име Lamp. Той съдържа променлива: isOn и два метода: turnOn()
и turnOff()
.
Вътре в главния клас създадохме два обекта: led и халоген от класа Lamp. След това използвахме обектите, за да извикаме методите на класа.
- led.turnOn () - Задава променливата isOn на
true
и отпечатва изхода. - halogen.turnOff () - Задава променливата isOn на
false
и отпечатва изхода.
Променливата isOn, дефинирана вътре в класа, се нарича още променлива на екземпляра. Това е така, защото когато създаваме обект от класа, той се нарича екземпляр на класа. И всеки екземпляр ще има свое копие на променливата.
Тоест, led и халогенните обекти ще имат свое копие на променливата isOn.
Пример: Създайте обекти в същия клас
Имайте предвид, че в предишния пример ние сме създали обекти в друг клас и имаме достъп до членовете от този клас.
Можем обаче да създаваме и обекти в същия клас.
class Lamp ( // stores the value for light // true if light is on // false if light is off boolean isOn; // method to turn on the light void turnOn() ( isOn = true; System.out.println("Light on? " + isOn); ) public static void main(String() args) ( // create an object of Lamp Lamp led = new Lamp(); // access method using object led.turnOn(); ) )
Изход
Светлина? вярно
Тук създаваме обекта в main()
метода на същия клас.