Please enable JavaScript to use CodeHS

IB Computer Science Higher Level (Year One) (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

18.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

18.2 Classes vs. Objects

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

18.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

18.4 Writing Classes

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

18.5 Writing Classes and Instance Methods

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

18.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

18.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

18.8 Wrapper Classes

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

18.9 Method Overloading

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

18.10 Local Variables and Scope

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

18.11 Key Terms for Classes

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

18.12 Objects vs Primitives

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

18.13 Inheritance

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

18.14 Class Design and Abstract Classes

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

18.15 Polymorphism

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

18.16 Object Superclass

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

18.17 Interfaces

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

18.18 Classes and Object-Oriented Programming Quiz

  • Classes and Object-Oriented Programming Quiz

Courses that include this module