Learning objectives

Explain abstraction as leaving out the details that do not matter for the task in hand, and distinguish data abstraction, which names data without revealing how it is stored, from procedural abstraction, which names a process

Identify the attributes a class needs and classify each as an instance variable, with a separate value in every object, or a class variable, shared by all objects of the class

Apply method decomposition to split a large behavior into smaller methods, and explain how moving shared steps into one general method removes duplicated code

Explain how parameters let one method serve a range of arguments, and why the body of a method can be rewritten without affecting its callers as long as its signature and its behavior are unchanged

Design a class for a written specification, recording its attributes and behaviors in plain language or in a class diagram before any code is written

Continue with a revision plan

These learning objectives are available to everyone. Sign in with an eligible plan to read the full note and worked examples.