Presentation is loading. Please wait.

Presentation is loading. Please wait.

More sophisticated behavior Using library classes to implement some more advanced functionality 4.0.

Similar presentations


Presentation on theme: "More sophisticated behavior Using library classes to implement some more advanced functionality 4.0."— Presentation transcript:

1 More sophisticated behavior Using library classes to implement some more advanced functionality 4.0

2 2 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Main concepts to be covered Using library classes Reading documentation

3 3 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling The Java class library Thousands of classes Tens of thousands of methods Many useful classes that make life much easier A competent Java programmer must be able to work with the libraries.

4 4 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Working with the library You should: know some important classes by name; know how to find out about other classes. Remember: We only need to know the interface, not the implementation.

5 5 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling A Technical Support System A textual dialog system Idea based on ‘Eliza’ by Joseph Weizenbaum (MIT, 1960s) Explore…

6 6 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Main loop structure boolean finished = false; while(!finished) { do something if(exit condition) { finished = true; } else { do something more }

7 7 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Main loop body String input = reader.getInput();... String response = responder.generateResponse(); System.out.println(response);

8 8 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling The exit condition String input = reader.getInput(); if(input.startsWith("bye")) { finished = true; } Where does ‘startsWith’ come from? What is it? What does it do? How can we find out?

9 9 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Reading class documentation Documentation of the Java libraries in HTML format; Readable in a web browser Class API: Application Programmers’ Interface Interface description for all library classes

10 10 Class documentation The web browser displays three frames: top left - a list of packages below - all classes in the Java library right - displays details of selected packages or classes Java Classes

11 11 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Interface vs implementation The documentation includes the name of the class; a general description of the class; a list of constructors and methods return values and parameters for constructors and methods a description of the purpose of each constructor and method the interface of the class

12 12 String documentation The documentation for string draws attention to a variety of available methods: Note: – the description –parameter list, and –the return type.

13 13 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Interface vs implementation The documentation does not include private fields (most fields are private) private methods the bodies (source code) for each method the implementation of the class

14 14 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Using library classes Classes from the library must be imported using an import statement (except classes from java.lang). They can then be used like classes from the current project.

15 15 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Packages and import Classes are organised in packages. Single classes may be imported: import java.util.ArrayList; Whole packages can be imported: import java.util.*;

16 16 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Using Random The library class Random can be used to generate random numbers import java.util.Random;... Random randomGenerator = new Random();... int index1 = randomGenerator.nextInt(); int index2 = randomGenerator.nextInt(100);

17 17 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Generating random responses public Responder() { randomGenerator = new Random(); responses = new ArrayList (); fillResponses(); } public String generateResponse() { int index = randomGenerator.nextInt(responses.size()); return responses.get(index); } public void fillResponses() {... }

18 18 Random -class methods

19 19 Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling Review Java has an extensive class library. A good programmer must be familiar with the library. The documentation tells us what we need to know to use a class (interface).


Download ppt "More sophisticated behavior Using library classes to implement some more advanced functionality 4.0."

Similar presentations


Ads by Google