Creating the Project4:52 with Ben Deitch
In this video we'll set the stage for interfaces and learn about TODOs!
Now that we know what interfaces are, 0:00 let's look at an example to see when we should use them. 0:02 Let's start by creating a new project. 0:05 Then let's click Next. 0:09 Select the template, hit Next again and for the project name, 0:11 let's just name it interfaces and click Finish. 0:17 Next, now I'm gonna put this into full screen mode so 0:25 it's a little easier to see. 0:28 Getting back to the example, let's pretend we're part of a team 0:32 trying to create a game where the player can chat with all the people in the game. 0:35 To do this we'll need a person class and it'll need a chat method. 0:40 In the project pane let's click into our project. 0:44 Clink into the source folder and right-click on our package. 0:50 Then let's pick New> Java Class, and name it person 0:56 Inside the person class, let's make sure every person 1:03 has a name by adding a string property called name, string name;. 1:08 And then let's add a constructor which sets our name property. 1:15 So Person, and we'll need to take in a string called name and 1:18 inside, we'll set this .name=name. 1:25 Finally at the bottom, let's declare the chat function. 1:29 Let's make it return a string, 1:33 name it chat And 1:37 inside the function, let's add a return and 1:42 say, Hi, I'm a person. 1:48 From here we could build out a whole host of people. 1:53 But let's just focus on one, the shopkeeper. 1:56 Over in the project pane let's make another new class. 2:00 And name it shop keeper. 2:06 Then let's make this class extend from person, so extends person, 2:12 and use Alt+Enter to add the constructor. 2:17 Below the constructor, let's use Ctrl+O to override the chat method. 2:21 And instead of just calling the person's chat method, 2:28 let's return Hi, I'm a ShopKeeper. 2:32 In addition to being a person, 2:38 the shopkeeper also has a shop to take care of. 2:40 But since we're keeping things simple, let's ignore most of the complexities of 2:43 running a shop and just give the shop keeper one function for selling goods. 2:47 Let's add some space at the bottom and 2:52 type void sellGoods and just leave it as an empty function. 2:54 If this were a real project, you might want to leave yourself a reminder to 3:02 come back and implement this method. 3:06 In IntelliJ, a good way to leave yourself notes like that is with a todo. 3:08 To use a todo, just add a comment and type todo as one word. 3:13 It doesn't matter what case you use, so feel free to type it however you'd like. 3:18 And if you'd like to add a message to the todo, just add a space or 3:24 a colon, and then add your message. 3:28 For this one, I'll say Implement the sellGoods method. 3:32 TODOs are managed down here in the TODO panel. 3:40 Here you can see all of your TODOs and quickly jump between them. 3:44 If you don't see the TODO panel, just click down here to hide or 3:48 show the border options. 3:52 Now that we've got our ShopKeeper class, 3:56 it's not hard to imagine how we would do this with other classes. 3:57 We might have a Doctor class that says something corny and 4:01 has various methods for healing the player. 4:04 Or maybe a bartender class that says something friendly and serves drinks. 4:07 With the person class, 4:12 we've got a lot of flexibility in creating new types of talking people. 4:13 But one thing we can't do is create a talking teacup. 4:18 We can't even create a talking dog. 4:22 I know, it's a bit silly but it's also realistic. 4:25 Requirements change frequently to include things we never expected and 4:29 it's our responsibility to handle those changes gracefully. 4:34 To that end why don't try making a teacup class 4:38 that's capable of chatting with the player? 4:40 If you need any help getting started, 4:43 start by creating a new interface to hold the chat method. 4:45 I'll show you how I solve it in the next video. 4:48 Good luck. 4:51
You need to sign up for Treehouse in order to download course files.Sign up