×
Creating solutions

Ako pracovať s triedami v hlavnom súbore (Java)

V poslednom čase som vykonal niekoľko pohovorov a testov s absolventmi a študentmi, ktorí uvádzali, že ovládajú programovací jazyk Java. Počas testov som zistil, že absolventi nemajú prax alebo nepoznajú coding style, naming conventions a application structure. Výsledkom bolo, že sa do hlavného súboru snažili napratať celý test namiesto toho, aby si vytvorili interface a triedu ako samostatné súbory a inštanciu volali z hlavného súboru, teda metódy main().
Ďalšou zlou vizitkou bolo, že namiesto zmyslu plných názvov premenných, kde sa ukazuje určitá úroveň programovania používali premenné ako keby išlo o obfuskáciu, teda premenné a, b pričom nešlo o cykly. Najviac ma pobavilo, keď jeden uchádzač napísal programový kód do hlavnej triedy, no nevedel zavolať vnorenú metódu, takže ani aplikáciu. Z tohto dôvodu som pripravil tento článok, kde budem demonštrovať tri spôsoby ako mohol test napísať, aby fungoval. Demonštrovať budem volania metód v rámci hlavnej triedy.
Príklad: Príklad č.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package testcases;
/**
*
* @author Matej Lednár
*/
public class MainApp {
public static void test() {
System.out.println("testcases.MainApp.test()");
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
test();
}
}
V prvom príklade ak chcem volať metódu v rámci hlavnej triedy, je potrebné aby mala modifikátor static.
Príklad: Príklad č.2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package testcases;
/**
*
* @author Matej Lednár
*/
public class MainApp {
public static class Test {
public Test() {
System.out.println("testcases.MainApp.Test.test()");
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new MainApp.Test();
}
}
Tento príklad obsahuje triedu v hlavnej triede. Aj v tomto prípade je potrebné použiť modifikátor static, tentoraz však na triedu a nie metódu.
Príklad: Príklad č.3.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package testcases;
/**
*
* @author Matej Lednár
*/
class Test {
public Test() {
System.out.println("testcases.Test.test()");
}
}
public class MainApp {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
new Test();
}
}
V poslednom príklade ide o triedu v rámci hlavného súboru. V tomto prípade nesmie mať trieda modifikátor public.

Záver

V podstate sa nečudujem, že absolventi alebo aj študujúci uchádzači majú takéto problémy. Stačí sa pozrieť na internet alebo si kúpiť knihu a všetky príklady sa robia v rámci hlavnej triedy a metódy main(). Výsledkom je potom to, čo som zažil s uchádzačmi. Z tohto dôvodu by sa mali učitelia informatiky a programovania zamerať aj na prácu s vývojovými prostrediami, architektúru a štruktúru aplikácií, naming conventions a coding style. Učitelia by sa mali v OOP zamerať aj na interface, s ktorým mali tiež viacerí uchádzači problém.


Java,class,main,static,naming conventions,coding style
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest