This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
laboratoare:visitor [2019/11/10 19:11] Adriana Draghici [Exerciţii] |
laboratoare:visitor [2019/11/30 12:17] Adriana Draghici [Resurse] |
||
---|---|---|---|
Line 441: | Line 441: | ||
* dacă folosiți IntelliJ creați proiect din scheletul de laborator: File -> New Project -> select Java -> select the skel folder | * dacă folosiți IntelliJ creați proiect din scheletul de laborator: File -> New Project -> select Java -> select the skel folder | ||
* În implementare va trebui sa folositi clasa [[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/StringBuilder.html|StringBuilder]]. Aceasta este o clasă mutabilă (//mutable//), spre deosebire de String, care e imutabilă (//immutable//). Vă recomandăm [[https://www.geeksforgeeks.org/string-vs-stringbuilder-vs-stringbuffer-in-java/|acest link]] pentru un exemplu si explicații despre diferențele dintre ele. | * În implementare va trebui sa folositi clasa [[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/lang/StringBuilder.html|StringBuilder]]. Aceasta este o clasă mutabilă (//mutable//), spre deosebire de String, care e imutabilă (//immutable//). Vă recomandăm [[https://www.geeksforgeeks.org/string-vs-stringbuilder-vs-stringbuffer-in-java/|acest link]] pentru un exemplu si explicații despre diferențele dintre ele. | ||
+ | * //Tips for faster coding//: | ||
+ | * atunci cand creati o clasa care implementeaza o interfata sau o clasa cu metode abstracte, nu scrieti de mana antetul fiecarei metode, ci folositi-va de IDE. | ||
+ | * In Intellij va aparea cu rosu imediat dupa ce scrieti extends.../implements... Dati alt-enter sau option-enter (pe mac), si vi se vor genera metodele pe care trebuie sa le implementati, voi completand apoi continutul lor. | ||
+ | * generati constructorii folosind IDE-ul | ||
** Task 2 ** - Utilizare API implementat folosind Visitor [2p] | ** Task 2 ** - Utilizare API implementat folosind Visitor [2p] | ||
- | Găsiți folosind java.nio toate fișierele cu extensia ".class" sau ".java" dintr-un director. | + | |
+ | Afișați folosind ''java.nio'' informații despre fișierele cu extensia ".class" sau ".java" dintr-un director. | ||
* Implementați un [[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/nio/file/FileVisitor.html | FileVisitor]], extinzând [[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/nio/file/SimpleFileVisitor.html | SimpleFileVisitor]] în care suprascrieți metoda de vizitare a fișierelor | * Implementați un [[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/nio/file/FileVisitor.html | FileVisitor]], extinzând [[https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/nio/file/SimpleFileVisitor.html | SimpleFileVisitor]] în care suprascrieți metoda de vizitare a fișierelor | ||
* Un exemplu similar găsiți în [[http://docs.oracle.com/javase/tutorial/essential/io/walk.html | acest tutorial]] | * Un exemplu similar găsiți în [[http://docs.oracle.com/javase/tutorial/essential/io/walk.html | acest tutorial]] | ||
Line 450: | Line 454: | ||
== Resurse == | == Resurse == | ||
- | * {{{ :laboratoare:visitor:lab-visitor-skel.zip |Schelet de cod}} | + | * {{ :laboratoare:visitor:lab-visitor-skel.zip |Schelet de cod}} |
+ | * {{ :laboratoare:visitor:lab-visitor-sol.zip |Soluție}} | ||
* [[laboratoare:old-exercises|Exerciții din alți ani]] | * [[laboratoare:old-exercises|Exerciții din alți ani]] | ||
* [[https://github.com/oop-pub/laboratoare/tree/master/visitor|Github repository]] | * [[https://github.com/oop-pub/laboratoare/tree/master/visitor|Github repository]] |