// REQUIRES// MODIFIES// EFFECTSWhat assumptions does the method make?
Does the object itself change? (this)
Does some other object change? (name the object)
No internal implementation details
private void makeOtherDogBark(Dog otherDog) {
System.out.println("Woof Woof Woof Woof Woof"):
}Visibility
Return Type
Method Name
Parameter List
Method body
Objects of a different class (type) can access/use it
Only objects of the same class (type) can use/access it
Private
Public
public class Dog {
private String name;
public Dog(String name) { this.name = name; }
public void bark() {
System.out.println("BAARRRRK");
}
public void barkAndMakeOtherDogBark(Dog otherDog) {
this.bark();
this.makeOtherDogBark(otherDog);
}
private void makeOtherDogBark(Dog otherDog) {
otherDog.bark();
}
}
public class Main {
public static void main(String[] args) {
Dog peter = new Dog("Peter");
Dog paul = new Dog("Paul");
peter.bark();
peter.barkAndMakeOtherDogBark(paul);
peter.makeOtherDogBark(paul);
}
}| Method | Needs specifications? | Why ? |
|---|---|---|
| Private Methods | ... | |
| Public Methods | ... | |
| Constructors | ||
| Getters | ||
| Setters | ||
| Tests |
public class Person {
private int age;
private String status;
private String name;
public Person() {
this.status = "young";
this.age = 0;
this.name = "Unnamed Person";
}
public void setName(String name) {
this.name = name;
}
public void getOlderByYears(int years) {
this.age = this.age + years;
if (age > 10) { this.status = "old"; }
}
...
}// EFFECTS: constructs a person with age 0,
// status "young" and name "Unnamed Person"// MODIFIES: this
// EFFECTS: sets the name of this person// REQUIRES: years >= 0
// MODIFIES: this
// EFFECTS: increases the age of this person by years and
// sets their status to "old" if the increased age is
// greater than 10| REQUIRES Clause | "Code" Equivalent |
|---|---|
| The target funding amount is between 500 and 50,000 |
500 < targetAmount < 50,000 |
| The car's speed must be either less than 30 km/h or greater than 70 km/h | |
| Amount is bigger than 0 and is less than the targetAmount minus the amount just funded | |
| The student's grade must be between 0.0 and 4.0 | |
| The x,y coordinates of the Point are larger in size than the x,y coordinates of the shape |