Чекор по чекор
Почетни чекори со 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 (опишана на претходната страна) во Јава, а после да ја искористиме при инстанцирање на неколку дрва и да им овозможиме малку и да пораснат.

Отвори текст едитор по твој избор и креирај нова датотека именувана како Drvo.java. Оваа датотека ќе ја содржи дефиницијата за класата Drvo, а битно е името на датотеката да биде исто како и именувата класа (и тоа од голема/мала буква до точка и запирка, значи ИСТО како и името на класата!) Искуцај го следниов пример во датотеката (броевите на линиите игнорирај ги, бидејќи тие се таму само колку да полесно се прегледува примерот и нетреба да бидат во изворниот код).

1  /**
2   * Drvo.java
3   * Ednostavna Java klasa.
4   */
5
6  class Drvo {

Започнуваме со најава дека сакаме да креираме класа наречена Drvo. Забележи дека ја следам конвенцијата на почетна голема буква при именување на класата.

7    public int visina = 0;
8

Без клучниот збор „public“ на почетокот од линијата остатокот изгледа исто како и секоја декларација на променлива. Значи декларарираме променлива од податочниот тип „int“ со име „visina“ и со иницијална вредност „0“. Да повторам дека поради Јава конвенцијата името на променливата ми започнува со мала буква. Променливите деклараирани на овој начин (а не како дел од телото на некоја метода, како во методата „main“ од претходните примери) се всушност особености на објектите кои ќе призлезат од таа класа. Линијата со број 7 всушност кажува дека секој објект при инстанцирање ќе добие особеност „visina“ која ќе ја содржи вредноста „0“ (нула). Клучниот збор „public“ всушност кажува дека оваа особеност на објектите ќе може да се менува од секаде од програмот. Во вториот дел од овој текст ќе објаснам како да ги заштитите вредностите во овие променливи, но сега за сега ваквата поставеност е доволна.

Тоа всушност е се што треба за да ја креираме класата Drvo која ќе има каде да ја чува својата висина. Но за да овој пример стане поинтересен на оваа класа ќе и додадеме и метод „rastenje“ кој го споменав претходно. Методот започнува вака:

9     /**
10     * Kke go porasne ova drvo za 1 metar
11     */
12    public void rastenje() {

На кратко да го објаснам првиот збор од линијата број 12. Клучниот збор „public“ индицира дека методата (операцијата) „rastenje“ е јавно достапна, што значи дека тој метод може да биде повикан од било каде од програмот. Методите исто така можат да бидат „private“ и „protected“, но тие клучни зборови ќе ги објаснам подоцна. Зборот „void“ укажува на тоа дека овој метод не враќа никаков резултат. Во некои наредни примери ќе ги разгледаме и методите кои врќаат некаков резултат, во тој случај на местото на „void“ ќе дојде некој друг податочен тип, на пример „int“.

На крај зборот „rastenje“ е всушност името на методата која ќе биде креирана. Пак да напоменам на Јава конвенциите, веќе примети дека името да методата запоцнува со мала буква, нели? Празните загради кои доаѓаат после името на методата индицираат дека декларираме метода, а не некоја особеност, на пример „visina“.  Покасно ќе видиме примери каде заградите не се празни :). И на крај, големата отворена заграда го означува почетокот на блокот на код кој ќе биде извшрн секојпат кога методата „rastenje“ од објектот Drvo ќе биде повикана.

13      visina = visina + 1;

Овој исказ е едноставен. Ја зема вредноста на променливата „visina“ и и додава 1 и ја доделува добиената вредност на променливата „visina“. Приметно е дека променливата „visina“ не ја деклариравме во блокот на методата туку ја деклариравме како особина на објектот во линија број 7. Доколку променливата „visina“ ја деклариравме во блокот на методата тогаш Јава ќе ја третираше како локална променлива, сосема одвоена од погоре декларираната променлива (линија 7), а Јава ќе креираше нова променлива секојпат кога методата „rastenje“ ќе беше повикана. Со тоа класата „Drvo“ повеќе немаше да функционира како што очекуваме (што слободно можеш да го пробаш покасно).


14   }
15 }

Затворената голема заграда во линија број 14 го означува крајот на методата „rastenje“, додека заградата во линијата број 15 го означува крајот на класата „Drvo“.

Откако ќе ги искуцаш горенаведените линии во новата датотека сними ја и искомпајлирај ја како и секој друг Јава програм:

C:\JavaDrvo> javac Drvo.java

Како и што очекуваше датотека со име Drvo.class е креирана во истиот директориум. Тоа е искомпајлирана дефиниција на класата „Drvo“. Секој Јава програм кој ќе треба да инстанцира објект од типот „Drvo“ ќе ја бара оваа датотека која е шема за тој тип на објект. Всушност, тоа ни е и нареден чекор.
страна број: 1 2 3 4 5 6 7 << претходна страна : : следна страна >> 
 
Коментирај
автор: Анонимус
Анонимните коментари ќе бидат објавувани веднаш после нивната проверка.
За да вашиот коментар биде веднаш валиден претходно пријавете се или креирајте свој профил


напишал: Анонимус (08.01.2008 16:30:28)
супер е
напишал: igor (08.01.2008 19:48:29)
благодарам, се трудиме да биде супер ;)
напишал: Анонимус (01.02.2008 00:46:34)
mesto hight vo 16.25.26.27 red treba da stoi visina
напишал: igor (01.02.2008 23:43:44)
благодарам за забелешката, корегирано!
напишал: jassum (10.02.2008 20: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 01:08:45)
фала на зебелешките, корегирано.

За другото гледам примети ;)
напишал: jassum (10.02.2008 20:57:45)
Treba izgleda poke da citam heheheh pozdrav pa poslem da se bunam :)
напишал: Анонимус (27.02.2008 15:38:48)
Bravo za avtorite . Dobro sto postoi vakva web strana
напишал: iarsov (28.06.2008 01:50:28)
сега сватив
во сто е штосот и кое од каде зима.
Браво одлична лекција.
Keep doing
напишал: Анонимус (09.11.2011 01:23:08)
Браво супер е странава,многу ми помогна ви благодарам.
пребарување
најди
 
Форум
 
JugMK
GetJava Download Button
http://www.eclipse.org
 
 
 
 
Copyrights © 2006 - 2024 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.
Сите други трговски марки се сопственост на нивните сопственици.