Kristofer Younger пре 6 година
родитељ
комит
ad8d80bf73
1 измењених фајлова са 76 додато и 2 уклоњено
  1. 76
    2
      README.md

+ 76
- 2
README.md Прегледај датотеку

@@ -4,8 +4,82 @@ the second Objects lab.
4 4
 
5 5
 look for the Chapter reading you need in the doc folder.
6 6
 
7
+* Exercise 2.1 Create a TicketMachine object on the object bench and take a look
8
+at its methods. You should see the following: getBalance, getPrice, insertMoney,
9
+and printTicket. Try out the getPrice method. You should see a return value containing
10
+the price of the tickets that was set when this object was created. Use the
11
+insertMoney method to simulate inserting an amount of money into the machine and
12
+then use getBalance to check that the machine has a record of the amount inserted.
13
+You can insert several separate amounts of money into the machine, just like you might
14
+insert multiple coins or notes into a real machine. Try inserting the exact amount
15
+required for a ticket. As this is a simple machine, a ticket will not be issued automatically,
16
+so once you have inserted enough money, call the printTicket method. A
17
+facsimile ticket should be printed in the BlueJ terminal window.
18
+* Exercise 2.2 What value is returned if you check the machine’s balance after it
19
+has printed a ticket?
20
+* Exercise 2.3 Experiment with inserting different amounts of money before printing
21
+tickets. Do you notice anything strange about the machine’s behavior? What happens
22
+if you insert too much money into the machine – do you receive any refund? What
23
+happens if you do not insert enough and then try to print a ticket?
24
+* Exercise 2.4 Try to obtain a good understanding of a ticket machine’s behavior by
25
+interacting with it on the object bench before we start looking at how the
26
+TicketMachine class is implemented in the next section.
27
+* Exercise 2.5 Create another ticket machine for tickets of a different price. Buy a
28
+ticket from that machine. Does the printed ticket look different?
29
+
30
+* Exercise 2.6 Write out what you think the outer wrappers of the Student and
31
+LabClass classes might look like – do not worry about the inner part.
32
+* Exercise 2.7 Does it matter whether we write
33
+`public class TicketMachine`
34
+or
35
+`class public TicketMachine`
36
+in the outer wrapper of a class? Edit the source of the TicketMachine class to
37
+make the change and then close the editor window. Do you notice a change in the
38
+class diagram?
39
+What error message do you get when you now press the Compile button? Do you think
40
+this message clearly explains what is wrong?
41
+* Exercise 2.8 Check whether or not it is possible to leave out the word public
42
+from the outer wrapper of the TicketMachine class.
43
+
44
+* Exercise 2.9 From your earlier experimentation with the ticket machine objects
45
+within BlueJ you can probably remember the names of some of the methods –
46
+printTicket, for instance. Look at the class definition in Code 2.1 and use this
47
+knowledge, along with the additional information about ordering we have given you,
48
+to try to make a list of the names of the fields, constructors, and methods in the
49
+TicketMachine class. Hint: There is only one constructor in the class.
50
+Exercise 2.10 Do you notice any features of the constructor that make it significantly
51
+different from the other methods of the class?
52
+
53
+* Exercise 2.11 What do you think is the type of each of the following fields?
54
+```
55
+private int count;
56
+private Student representative;
57
+private Server host;
58
+```
59
+* Exercise 2.12 What are the names of the following fields?
60
+```
61
+private boolean alive;
62
+private Person tutor;
63
+private Game game;
64
+```
65
+* Exercise 2.13 In the following field declaration from the TicketMachine class
66
+`private int price;`
67
+does it matter which order the three words appear in? Edit the TicketMachine class to
68
+try different orderings. After each change, close the editor. Does the appearance of the
69
+class diagram after each change give you a clue as to whether or not other orderings are
70
+possible? Check by pressing the Compile button to see if there is an error message.
71
+Make sure that you reinstate the original version after your experiments!
72
+* Exercise 2.14 Is it always necessary to have a semicolon at the end of a field declaration?
73
+Once again, experiment via the editor. The rule you will learn here is an
74
+important one, so be sure to remember it.
75
+* Exercise 2.15 Write in full the declaration for a field of type int whose name is
76
+status.
7 77
 * Exercise 2.16 To what class does the following constructor belong?
8
-`public Student(String name)`
78
+```
79
+public Student(String name)
80
+```
9 81
 * Exercise 2.17 How many parameters does the following constructor have andwhat are their types?
10
-`public Book(String title, double price)`
82
+```
83
+public Book(String title, double price)
84
+```
11 85
 * Exercise 2.18 Can you guess what types some of  the Bookclass’s fields mightbe? Can you assume anything about the names of its fields?