> For the complete documentation index, see [llms.txt](https://certil-remy.gitbook.io/learn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://certil-remy.gitbook.io/learn/oop-tic-tac-toe/untitled-9.md).

# oop barking dog lab

## Barking Dog

### Objectives

1. Practice defining a class
2. Build instance methods––both setter and getter

[![dog cartoon](https://camo.githubusercontent.com/282c7fe9af54782e9e117119e84a5203b75e17c9/68747470733a2f2f73332d75732d776573742d322e616d617a6f6e6177732e636f6d2f7765622d6465762d726561646d652d70686f746f732f6f6f2d6c6162732f646f672e6a7067)](https://camo.githubusercontent.com/282c7fe9af54782e9e117119e84a5203b75e17c9/68747470733a2f2f73332d75732d776573742d322e616d617a6f6e6177732e636f6d2f7765622d6465762d726561646d652d70686f746f732f6f6f2d6c6162732f646f672e6a7067)

### Introduction

In this lab, you'll be creating a Dog class. Every instance of a Dog should have a name and be able to bark. In other words, I should be able to do:

```
fido = Dog.new
fido.name = "Fido"

fido.name
# => "Fido"

fido.bark
woof!
# => nil
```

### Instructions

Run the test suite to get started. You'll be writing all your code in the `lib/dog.rb` file.

1. Define a class, called Dog.
2. Write a setter method, `.name=`, that allows you to give a dog a name.
3. Write a getter method, `.name` that returns an individual dog's name.
4. Write a method, `.bark`, that `puts` "woof!" when called on an instance of Dog.

View [Barking Dog](https://github.com/learn-co-curriculum/oo-barking-dog) on Learn.co and start learning to code for free.
