Giter Club home page Giter Club logo

python-p3-inheritance-lab-pt-2's Introduction

Object Inheritance Lab Part Two

Learning Goals

  • Reduce repeated code and enhance objects using inheritance.
    • Define two classes, one of which inherits from another.
    • Define methods in the child class that use the super keyword to inherit from and augment methods in the parent class.
  • Accomplish complex programming tasks using knowledge from previous modules.

Key Vocab

  • Inheritance: a tool that allows us to recycle code by creating a class that "inherits" the attributes and methods of a parent class.
  • Composition: a tool that enables you to recycle code by adding objects to other objects. Rather than building on a base class as in inheritance, composition leverages the attributes and methods of an instance of another class.
  • Subclass: a class that inherits from another class. Colloquially called a "child" class.
  • Superclass: a class that is inherited by another class. Colloquially called a "parent" class.
  • Child: another name for a subclass.
  • Parent: another name for a superclass.
  • super(): a built-in Python function that allows us to manipulate the attributes and methods of a superclass from the body of its subclass.
  • Decorator: syntax that allows us to add functionality to an object without modifying its structure.

Instructions

In this lab, you'll be coding a Student class, which will be the superclass, and a ChattyStudent class, which will inherit from Student.

ChattyStudent is a student, so they should have all of the behaviors and characteristics of a student. The difference is that ChattyStudent is very chatty. So, they will elaborate on any phrases that are inherited from Student.

Run the test suite to get started. This is a test-driven lab.

  1. Write a method in the Student class, hello(), that print()s out the phrase:

    "Hey there! I'm so excited to learn stuff."

  2. Write a method in the Student class, raise_hand(), that print()s out the phrase:

    "Pick me!"

  3. Write a method in the ChattyStudent class, hello(), that uses super() to inherit the behavior of the hello() method from the parent class. Then, augment that method to also print() out the very chatty phrase:

    "How are you doing today? I'm okay, but I'm kind of tired. Did you watch The Walking Dead last night? You didn't?! Oh man, it was so crazy! What, you don't want any spoilers? Okay well let me just tell you who died..."

  4. Write a method in the ChattyStudent class, raise_hand(), that uses super() ten times so that the method will print() out "Pick me!" ten times. It is possible to call super() multiple times in a method.


Resources

python-p3-inheritance-lab-pt-2's People

Contributors

professor-ben avatar galenshosato avatar jlboba avatar pgill97 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.