# Code Practice with Object Oriented Concepts

Each coding exercise has its own folder. Open its `.java` file and press **Run** to try it. **Run Tests** checks every graded exercise in this lesson at once.

## Exercise 1

Write a method that overloads the talk method by taking in a name and printing `Hello` with that name.

> Open the `01-oocodeex1` folder and edit `Test1.java`. Press **Run** to try it; **Run Tests** checks it (2 tests).

## Exercise 2

Edit this code so the class Beagle is a subclass of the Dog class. When you run the code it should print “woof!” and then “arf arf”.

> Open the `02-oocodeex2` folder and edit `Dog.java`. Press **Run** to try it; **Run Tests** checks it (2 tests).

## Exercise 3

Add an equals method to this class that returns true if the current Dog and passed Dog have the same name. The code should print false twice then true twice.

> Open the `03-oocodeex3` folder and edit `Dog.java`. Press **Run** to try it; **Run Tests** checks it (4 tests).

## Exercise 4

Override the taste method from the Candy class in the Chocolate class to return `tastes chocolately`. It should print `tastes sweet!` and then `tastes chocolately`.

> Open the `04-oocodeex4` folder and edit `Candy.java`. Press **Run** to try it; **Run Tests** checks it (2 tests).

## Exercise 5

Overload the greet method to just print `Hello` if not given any parameters. It should print `Hello` and then `Hello Sansa`.

> Open the `05-oocodeex5` folder and edit `Student.java`. Press **Run** to try it; **Run Tests** checks it (2 tests).

## Exercise 6

Add a call to Pet’s brag method before printing anything in Dog’s brag method (hint: use super to call an overridden method). It should print `I have the best pet!` and then `I have the best dog`.

> Open the `06-oocodeex6` folder and edit `Pet.java`. Press **Run** to try it; **Run Tests** checks it (2 tests).

## Exercise 7

Finish the Teacher constructor. Use super to use the Person constructor to set the fields inherited from Person. It should print `Destini 20` followed by `Erica 55 Masters in Teaching`.

> Open the `07-oocodeex7` folder and edit `Person.java`. Press **Run** to try it; **Run Tests** checks it (2 tests).

## Exercise 8

Add public getter and setter methods to the Store class so its variables can be accessed by other classes. It should print the store’s name and address and then change both and print the new values.

> Open the `08-oocodeex8` folder and edit `Store.java`. Press **Run** to try it; **Run Tests** checks it (2 tests).

## Exercise 9

Correctly finish the Dog subclass for the following Animal class. Override the methods speak() to print `woof` and eat() to print `num num`.

> Open the `09-oocodeex9` folder and edit `Dog.java`. Press **Run** to try it; **Run Tests** checks it (3 tests).

## Exercise 10

Override the compareTo method so that it returns a positive number if the current Person is older than the passed other and a negative number if they are younger. If their age is the same then return the compareTo result on the names.

> Open the `10-oocodeex10` folder and edit `Person.java`. Press **Run** to try it; **Run Tests** checks it (4 tests).

## Exercise 11

Override the Person class’s speak method inside the Student class. Make the method print `I'm a student`.

> Open the `11-oocodeex11` folder and edit `Person.java`. Press **Run** to try it; **Run Tests** checks it (2 tests).
