User Tools

Site Tools


Problem constructing authldap
laboratoare:visitor
Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
laboratoare:visitor [2019/11/10 12:56]
Adriana Draghici [Resurse]
laboratoare:visitor [2019/11/11 18:19]
Adriana Draghici [Exerciţii]
Line 1: Line 1:
-More OOP & Visitor pattern =+Overriding, Overloading ​& Visitor pattern =
  
 == Obiective ==  == Obiective == 
Line 401: Line 401:
         * [[http://​docs.oracle.com/​javase/​tutorial/​essential/​io/​walk.html | un tutorial]] ​         * [[http://​docs.oracle.com/​javase/​tutorial/​essential/​io/​walk.html | un tutorial]] ​
  
-== TL;DR ==+== Summary ​==
  
 **Supraîncărcarea (overloading) ** - mai multe metode cu același nume dar cu listă diferită de argumente **Supraîncărcarea (overloading) ** - mai multe metode cu același nume dar cu listă diferită de argumente
Line 436: Line 436:
  
 * Fișierul **[[https://​github.com/​oop-pub/​laboratoare/​tree/​master/​visitor/​skel|README]]** din scheletul de cod cuprinde informațiile necesare designului dorit. * Fișierul **[[https://​github.com/​oop-pub/​laboratoare/​tree/​master/​visitor/​skel|README]]** din scheletul de cod cuprinde informațiile necesare designului dorit.
 +   * implementați structura de clase din diagrama din README
 +   * implementați TODO-urile din scheletul de cod
 * Pentru simplitatea testării scheletul oferă clasa ''​Test''​ care oferă bucățile de text pe care să le prelucrați. * Pentru simplitatea testării scheletul oferă clasa ''​Test''​ care oferă bucățile de text pe care să le prelucrați.
    * 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.
 +* //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.  + 
-       ​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  +Afișați folosind ​''​java.nio''​ informații despre ​fișierele cu extensia "​.class"​ sau "​.java"​ dintr-un director.  
-        un exemplu similar găsiți în [[http://​docs.oracle.com/​javase/​tutorial/​essential/​io/​walk.html | acest tutorial]]+  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]]
  
 == Resurse == == Resurse ==
Line 448: Line 456:
 * {{{ :​laboratoare:​visitor:​lab-visitor-skel.zip |Schelet de cod}} * {{{ :​laboratoare:​visitor:​lab-visitor-skel.zip |Schelet de cod}}
 * [[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]]
  
  
laboratoare/visitor.txt · Last modified: 2019/11/30 12:17 by Adriana Draghici