Чекор по чекор
Почетни чекори со Java
Објектно оријентирани концепти во Јава - Прв дел
Објектно оријентирани концепти во Јава - Втор дел
Објектно оријентирани концепти во Јава - Трет дел
Јава сервлети - Прв дел
Единствен Јава објект (singleton)
Најчести 10 грешки што ги прават Java програмерите
повеќе...
Што е тоа ...
... IDE
... Tomcat
... објект?
... класа?
... наследување?
... интерфејс?
... наследување? (прашања и одговори)
повеќе...
За загревање
Нов проект во Eclipse?
Примитивни податочни типови
Променливи
Оператори
Доделувачки, аритметички и Unary оператори
Оператори за еднаквост, релации и услови
Изрази, искази и блокови
повеќе...
Како да ...
... конвертирам java.sql.Timestamp во java.util.Date
... зададам формат на датум
... ковертирам „long“ во HEX и обратно
... прочитам датотека и променам стринг
... креирам ZIP датотека
... поврзам Apache и Tomcat користејќи mod_jk
... пратам недефиниран број на атрибути до некоја метода
повеќе...
Java преку примери
new Socket(String addr,int port)
new URL(String address)
new URL(String protocol, String host, int port, String file)
CommPort: getInputStream()
CommPortIdentifier: getPortIdentifiers()
Statement: executeQuery(String sql)
Statement: getMaxRows()
повеќе...
Грешка
Нов напис
Рубрика:
Наслов:
  
  

страна број:123
Објектно оријентирани концепти во Јава - Прв дел
Користње на класата Drvo

Сега веќе ја имаш шемата за дрвото. Голема работа, нели? Интересното допрва доаѓа до користење на шемата за да креираш и манипулираш со објектите од тој тип во Јава програм. Креирај нова датотека во твојот текст едитор именувана како „SadenjeNaDrva.java“ и докуцувај ги линиите кои ги објаснувам во понатамошниот текст.


1  /**
2   * SadenjeNaDrva.java
3   * Ednostaven Java program za testiranje na klasata Drvo
4   */
5
6  class SadenjeNaDrva {

Точно, самиот програм е класа. Кога стартуваш Јава програм ти едноставно обезбедуваш име на класа која ја содржи специјалната метода „main“ која автоматски ќе биде извршена. Понатака во текстовите ќе објасниме како да ја искористиме предноста од тоа што Јава програмите се всушност класи, но сега за сега тоа само ќе ни служи како потсетник како секој дел од Јава програмот припаѓа во мрежата од класи и објекти дури и самиот програм.

7    public static void main(String[] args) {

Ова е почетокот на специјалната метода „main“ која автоматски е извршена за да го активира твојот Јава програм. Сигурно ги забележуваш сличностите со декларацијата на методата „rastenje“ од класата Drvo. И двете се јавни методи (public) и не враќаат ништо. Тоа го покажуваат клучните зборови „public“ и „void“ кои се во почетокот на декларацијата. Што се однесува до клучниот збор „static“ ќе мора да бидеш стрплив/а  за да добиеш разрешница на таа мистерија ;).


8      System.out.println("Ajde da nasadime nekoe drvce! :)");

Програмот започнува со мала порака која објаснува што истиот ќе прави. Тоа не би требало да е ништо ново за тебе.


9      // Kreiraj novo drvo
10     Drvo drvo1 = new Drvo();

Како што коментарот од линија број 9 објаснува, линијата 10 инстанцира нов објект од типот Drvo. Ова е навистина битна линија, затоа ќе се потрудам да ја објаснам подетално.
Линијата започнува со декларација на класата (типот) на објектот кој треба да се креира (во случајов Drvo). После го именуваме нашето ново дрво (во овој случај drvo1). Ова всушност е идентично со декларирање на променлива со специфицирање на податочниот тип проследено со името на променливата (пример: int sobnaTemperatura).

Во остатокот од линијата се случува магијата. Зборот „new“ е резервиран збор во Јава кој стартува инстанцирање на нов објект. После „new“ следува името на класата која треба да се инстанцира, проследено со затворени средни загради (во подоцнежни посложени примери заградите можеби и нема да бидат празни).
На кратко оваа линија вели: „креирај нова променлива од типот Drvo именувана како drvo1 и додели му ја вредноста од новото дрво.“ Така да во линијата не само што се креира нов објект од типот Drvo туку се креира и нова променлива која како вредност ќе го има новокреираното дрво. Не се секирај ако малку те буни ова, во подоцнежните примери ќе се доразјасни се.

Сега, откако го креиравме дрвото ајде да направиме нешто со него:

11     // Ispecati ja visinata na drvoto
12     System.out.println("Kreirav drvo koe e visoko " +
13                        drvo1.visina + " metri.");

Оваа линија (12) печати текст како и секоја друга користејќи го изразот „System.out.println“, но малку се разликува од претходните бидејќи оваа за печатењето зема вредност од променливата „visina“ од „drvo1“ (drvo1.visina). Доколку напишеше само „height“, Јава ќе „помислеше“ дека ти целиш кон некоја променлива декларирана во овој метод или на особина од класата „SadenjeNaDrva“ (самиот програм). Неможејќи да ја најде Јава ќе испечати порака дека неможе да ја најде променливата уште при самото компајлирање. За да кажеш на Јава дека мислиш на особината „height“ на „Drvo“-то, односно на „drvo1“ со помош на операторот „.“ (точка, drvo1.height).

Операторот „.“ можеме да го преведеме како да кажуваме на Јава: „припаѓа на“, но кога го читаш изразот наназад. Бидејќи дрвата се креираат со почетна вредност за висината 0, линиите 12 и 13 ќе испечатат: „Kreirav drvo koe e visoko 0 metri.“

Повикувањето на методи (операции) на некој објект се постигнува на сличен начин:

14     drvo1.rastenje();


Оваа линија го повикува методот кој припаѓа на „Drvo“ во објектот „drvo1“ предизвикувајќи раст на дрвото за 1 метар. Се приметува дека заградите укажуваат на Јава дека се работи за повик до метода, не до особина. После оваа линија ајде пак да ја испечатиме висината на дрвото:


15     System.out.println("Posle malo rastenje sega drvoto e visoko " +
16                        drvo1.visina + " metri.");


Ова ќе го испечати текстот: „Posle malo rastenje sega drvoto e visoko 1 metri.“


За да прикажеме дека секое дрво е самостојно и има своја специфична висина во следниот пример ќе креираме неколку дрва и ќе ги „пораснеме“ за различни вредности.

17     Drvo drvo2 = new Drvo();
18     Drvo drvo3 = new Drvo();
19     drvo2.rastenje();
20     drvo3.rastenje();
21     drvo2.rastenje();
22     drvo3.rastenje();
23     drvo2.rastenje();
24     System.out.println("Eve gi finalnite visini:");
25     System.out.println(" drvo1: " + drvo1.visina + " metri");
26     System.out.println(" drvo2: " + drvo2.visina + " metri");
27     System.out.println(" drvo3: " + drvo3.visina + " metri");
28   }
29 }


Сними го и изврши го програмот:

C:\JavaDrvo> javac SadenjeNaDrva.java


Осигурај се дека класата „SadenjeNaDrva.class“ е во ист директориум со „Drvo.class“, потоа изврши го програмот:

C:\JavaDrvo> java SadenjeNaDrva
Ajde da nasadime nekoe drvce! :)
Kreirav drvo koe e visoko 0 metri.
Posle malo rastenje sega drvoto e visoko 1 metri.
Eve gi finalnite visini:
drvo1: 1 metri
drvo2: 3 metri
drvo3: 2 metri
страна број: 1 2 3 4 5 6 7 << претходна страна : : следна страна >> 
 
Коментирај
автор: Анонимус
Анонимните коментари ќе бидат објавувани веднаш после нивната проверка.
За да вашиот коментар биде веднаш валиден претходно пријавете се или креирајте свој профил


напишал: Анонимус (08.01.2008 15:30:28)
супер е
напишал: igor (08.01.2008 18:48:29)
благодарам, се трудиме да биде супер ;)
напишал: Анонимус (31.01.2008 23:46:34)
mesto hight vo 16.25.26.27 red treba da stoi visina
напишал: igor (01.02.2008 22:43:44)
благодарам за забелешката, корегирано!
напишал: jassum (10.02.2008 19:53:32)
Drvo d1 = new Drvo();
d1.visina = 5;
Visina d2 = new Drvo();
d2.height = 5;
if (d1 == d2) System.out.println("'d1' i 'd2' se ednakvi!");

}
Se ivinuvam ama ova kajmene vaka ne go bidva :) a neznam oti.
a vaka da:
Drvo d1 = new Drvo();
d1.visina = 5;
Drvo d2 = new Drvo();
d2.visina = 5;
if (d1.visina == d2.visina) System.out.println("'d1' i 'd2' se ednakvi!");

}
напишал: igor (12.02.2008 00:08:45)
фала на зебелешките, корегирано.

За другото гледам примети ;)
напишал: jassum (10.02.2008 19:57:45)
Treba izgleda poke da citam heheheh pozdrav pa poslem da se bunam :)
напишал: Анонимус (27.02.2008 14:38:48)
Bravo za avtorite . Dobro sto postoi vakva web strana
напишал: iarsov (27.06.2008 23:50:28)
сега сватив
во сто е штосот и кое од каде зима.
Браво одлична лекција.
Keep doing
напишал: Анонимус (09.11.2011 00:23:08)
Браво супер е странава,многу ми помогна ви благодарам.
пребарување
најди
 
Форум
 
JugMK
GetJava Download Button
http://www.eclipse.org
 
 
 
 
Copyrights © 2006 - 2017 by Java.com.mk
Права и правила за користење на java.com.mk
Контакт адреса:
contact AT java.com.mk
Powered by Supernova v.0.70 beta
JavaTM и Java-базираните ознаки се трговски марки или регистрирани трговски марки на Sun Microsystems, Inc. во САД и други држави. Java.com.mk никако не соработува со Sun Microsystems, Inc.
Сите други трговски марки се сопственост на нивните сопственици.