Please enable JavaScript to use CodeHS

IB Computer Science Standard Level (2021)

Classes and Object-Oriented Programming

In this module, students learn the basics of Object Oriented Programming in Java, which is a powerful programming paradigm. Students learn how objects store data and interact with each other in Java programs. Students design and implement classes and extend classes using inheritance.

Lessons

12.1 Introduction to Classes and Objects

  • What is a Class?
  • Quiz: Classes and Objects
  • The Rectangle Class
  • The Point Class
  • The Student Class
  • +4 more

12.2 Classes vs. Objects

  • Classes and Objects
  • Classes vs. Objects vs. Instances
  • Classes, Objects, and Instances
  • Creating Rectangle Objects
  • Text Messages

12.3 Using a Class as a Client

  • How to Use a Class
  • Quiz: Client of a Class
  • Using the Rectangle Class as a Client
  • Using the Randomizer Class as a Client
  • Coin Flips
  • +4 more

12.4 Writing Classes

  • Constructors
  • Quiz: Constructors
  • Rectangle toString
  • Student toString
  • toString for Flowers
  • +5 more

12.5 Writing Classes and Instance Methods

  • Writing Instance Methods
  • Quiz: Writing Methods
  • Area of a Rectangle
  • Moving a Point
  • Writing getPerimeter()
  • +4 more

12.6 Getter and Setter Methods

  • Getter and Setter Methods
  • Quiz: Getter and Setter Methods
  • Rectangle Getter Methods
  • Student Getter Methods
  • Text Messages Getter Methods
  • +4 more

12.7 Class Methods and Class Variables

  • Static Methods and Variables (Class Methods and Class Variables)
  • Quiz: Static Methods
  • Student Class Variables and Methods
  • Using the Math Class
  • Using Randomizer
  • +6 more

12.8 Wrapper Classes

  • Wrapper Classes
  • Quiz: Wrapper Classes
  • Creating Integers
  • Using Doubles
  • Autoboxing Example
  • +3 more

12.9 Method Overloading

  • Method Overloading
  • Method Overloading Quiz
  • Sum Method Overloading
  • Constructor Overloading
  • Average Method Overloading
  • +1 more

12.10 Local Variables and Scope

  • Local Variables and Scope
  • Local Variables and Scope Quiz
  • Instance Variable Scope
  • Local Variable Scope
  • Variable Shadowing
  • +1 more

12.11 Key Terms for Classes

  • Key Terms for Classes
  • Quiz: This Keyword
  • Rectangles and this
  • Batteries
  • Write Your Own CodeHS

12.12 Objects vs Primitives

  • Objects vs Primitives
  • Objects vs Primitives Quiz
  • Comparing Rectangles
  • Changing Dogs
  • Null Pointer Exception
  • +2 more

12.13 Inheritance

  • Inheritance
  • Quiz: Subclasses and Superclasses
  • Square is a Rectangle
  • Clothing Store
  • Inheritance Badge

12.14 Class Design and Abstract Classes

  • Class Design and Abstract Classes
  • Quiz: Class Design
  • The Shape Hierarchy
  • Classes for Dessert
  • Finding The Perimeters

12.15 Polymorphism

  • Polymorphism
  • Quiz: Polymorphism
  • Animal Sounds
  • Shape Areas
  • Fun with Solids

12.16 Object Superclass

  • Object Superclass
  • Quiz: Object Superclass
  • Default Values
  • Override toString
  • Override equals
  • +4 more

12.17 Interfaces

  • Interfaces
  • Quiz: Interfaces
  • Comparable Interface
  • Summable Interface
  • Fraction is Comparable
  • +2 more

12.18 Classes and Object-Oriented Programming Quiz

  • Classes and Object-Oriented Programming Quiz