Jump to content
razvandragos29

Intrebari java

Recommended Posts

Salut cum am spus si in topicul trecut cel cu Delagation in java https://rstforums.com/forum/87471-delegation-java.rst invat dupa cartea Thinking in Java si am intampinat cateva probleme la acesta chestie.

Am urmatorul exercitiu de facut din carte

Modify Detergent.java so that it uses delegation

aceasta este clasa Detergent.java

class Cleanser {

private String s = "Cleanser";

public void append(String a) { s += a; }

public void dilute() { append(" dilute()"); }

public void apply() { append(" apply()"); }

public void scrub() { append(" scrub()"); }

public String toString() { return s; }

public static void main(String[] args) {

Cleanser x = new Cleanser();

x.dilute(); x.apply(); x.scrub();

print(x);

}

}

public class Detergent extends Cleanser {

// Change a method:

public void scrub() {

append(" Detergent.scrub()");

super.scrub(); // Call base-class version

}

// Add methods to the interface:

public void foam() { append(" foam()"); }

// Test the new class:

public static void main(String[] args) {

Detergent x = new Detergent();

x.dilute();

x.apply();

x.scrub();

x.foam();

print(x);

print("Testing base class:");

Cleanser.main(args);

}

}

si acesta este rezolvare mea

 class Cleanser1{ 

private String s="Cleanser";

public void append(String a) {s+=a; }

public void dilute() {append("dilute()") ;}

public void apply(){append("apply()");}

public void scrub(){append("scrub()"); }

public String toString(){

return s;

}

}

public class Detergent1 {

Cleanser1 x=new Cleanser1();

public void append(String s)

{x.append(s);}

public void dilute()

{x.append("dilute");}

public void apply(){

x.append("apply()");

}

public void scrub() {

x.append("Aply()");

}

public void foam(){

x.append("Foam()");

}

public String toString(){

return x.toString();

}

public static void main(String args[]) {

Detergent x=new Detergent();

x.apply();

print(x);

}

}

am cautat pe net rezolvarea exercitiului si am gasit asta

http://greggordon.org/java/tij4/reusing/DetergentDelegation.java

nu inteleg de ce tipu spune ca anumite metode erau delegate in totalitate si altele nu si de ce a suprascris metoda append in clasa Detergent deoarece in exemplu din carte acesta mostenea toatea metodele si rescria doar 2 din ele scrub si apply .

Edit:Am gasit ghidul cu solutii al cartii care este realizat chiar de autor si a rezolvat acest exercitiu exact ca mine.

PS:M2G mi-a spus sa fac acest topic "Intrebari Java" si cand am probleme sa postez aici in acest mod nu fac 100 de topicuri pentru toate probleme din carte .

Edited by razvandragos29
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...