Final Project and Inheritance Preparation
Overview
For your final project, you will build a larger program that uses multiple classes that interact meaningful together with a graphics.py based interface. Today, the focus is understanding what you need to do for the final project and learning a bit more about how to define classes that are related to each other.
Basic Learning Objectives
Before the start of class, you should be able to:
- Explain the core and advanced requirements of the project
- Identify the key deadlines of the project
- Explain the idea of inheritance
Advanced Learning Objectives
During and after class, you should be able to:
- Start on your project proposal
- Explain how you could use inheritance to reduce code duplication in your project
Readings
You should read the following (note there are a few places where an old checkpoint doesn’t show correctly, don’t worry about it):
- Final Project Page
- Runestone 22.1 Class Inheritance
- Runestone 22.2 Inheriting Variables and Methods
- Runestone 22.3 Overriding Methods
- Runestone 22.4 Invoking the Parent Class’s Method
Checks
Complete the three checks linked here (Runestone 22.8 Chapter Assessment) and copy your completed code for the following to Moodle:
Grass_PokemonactionmethodGrass_Pokemonattack_upmethodPokemonopponentmethod