CCEA AS-Level Software Systems Development CL4
Software and the Development Environment
Defining Data: Types, Variables and Classes
Program Control Structures
Objects, Classes and Data Structures
Exception Handling and Managing Input and Output
Testing an Object Oriented Application
Graphical User Interface Objects and Events
Multiple Forms and Linking to Files
Designing, Testing and Evaluating an Event Driven Application
Objects, Classes and Data Structures
- 11 subtopics
- 33 things to know
- AS Unit 1
What Objects, Classes and Data Structures covers
Objects, Classes and Data Structures is examined in Unit AS 1, Introduction to Object Oriented Development — a written examination. It covers constructors and creating objects, methods, parameters and return values, encapsulation and access modifiers, getters, setters and validating an object's state, inheritance and the base class, overriding methods and run-time polymorphism, overloading methods, choosing and organising data structures, strings and string handling, static arrays of simple types and arrays of objects.
Where it is assessed
AS Unit 1
Introduction to Object Oriented Development.
Check the CCEA specification ↗The 11 subtopics
Each one has its own page. CCEA AS Software Systems Development students sit this topic in the first year.
- Constructors and creating objectsDefault constructor and constructor overloading.Open →
- Methods, parameters and return valuesParameter and an argument, return type of void and instance method.Open →
- Encapsulation and access modifiersThree principles underpinning object oriented programming, visibility of a class member and usual pattern of modifiers used to encapsulate a class.Open →
- Getters, setters and validating an object's stateAccessor method, mutator method and java naming convention for these two kinds of method.Open →
- Inheritance and the base classDeriving one class from another, what a subclass inherits and what it does not, calling the base constructor, overriding a method, and the is-a test for deciding whether inheritance is the right relationship.Open →
- Overriding methods and run-time polymorphismMethod overriding and abstract method.Open →
- Overloading methodsMethod overloading, key difference between overloading and overriding and risk of overloading a method with very similar parameter lists.Open →
- Choosing and organising data structuresMatching the structure to the job — an array for a fixed run of the same type, a list where the length changes, a record for related fields of different types — and what each costs to search and to grow.Open →
- Strings and string handlingA string as a sequence of characters counted from zero, length, extracting a substring, searching for one string inside another, joining strings, and why two strings are compared by value rather than by identity.Open →
- Static arrays of simple typesStatic array and parallel arrays.Open →
- Arrays of objectsDeclaring an array whose elements are objects, why every element starts empty, creating each object before it is used, and the error raised by reaching through an element that holds nothing.Open →
What you need to know
Answer each one before you reveal it.
In the constructor public Car(String make) { this.make = make; }, explain what each side of the assignment names.
Why is a long method usually rewritten as several shorter ones?
What access does the modifier protected give in Java?
How does encapsulation make a program easier to maintain?
What is a mutator method?
Why is a getter preferred to simply making the field public?
Explain what happens at run time when an overridden method is called through a base-class reference.
Why does a program hold related values in a data structure rather than in separate variables?
Give two problems with using thirty separate variables to hold thirty marks.
What does it mean to design a data structure for a particular task?
What is a static array?
A program holds int[][] g = {{1, 2}, {3, 4}, {5, 6}};. What does System.out.println(g[2][0] + g[0][1]); print?
Describe how the object with the highest value of an attribute is found in an array of objects.
A library program declares an array of 200 Book references but currently holds only 40 books. What is the cost of that decision?
Which Java keyword sets up inheritance?
What is method overloading?
Why is a string regarded as a data structure?
What is a method?
Give the alternative names for the two classes in an inheritance relationship.
What does the annotation @Override do in Java?
At what point is the choice between overloaded methods made?
What is the index of the first character of a Java string?
How is a constructor recognised in Java source code?
What makes up a method's signature in Java?
State the three principles underpinning object oriented programming.
State the Java naming convention for getter and setter methods
Which members of a base class does a subclass inherit, and which does it not?
What name is given to choosing the method version from the object's actual class while the program runs?
A class Rectangle offers both Rectangle(double w, double h) and Rectangle(double side). What is the second constructor for?
A program holds String s = "Systems";. What does System.out.println(s.length()); print?
What does the statement int[] marks = new int[5]; create?
What has to be done to an element of an array of objects before it can be used?
Take Objects, Classes and Data Structures further
The same content, four other ways.
Commonly confused
Pairs that lose marks when they are blurred together.
An is-a relationship vs A has-a relationship
An is-a relationship: every instance of the new class counts as a kind of the old one, so inheritance fits. A has-a relationship: it means one class simply owns another as an attribute.
Questions from this topic
Each one with the model answer underneath.
- 1
What is a constructor?
Model answer
A constructor is a special method that runs automatically when an object is created, and its job is to put the new object's attributes into a valid starting state.
- 2
How is a constructor recognised in Java source code?
Model answer
A Java constructor carries exactly the same name as its class and declares no return type at all, not even void.
- 3
What does the keyword new do in the statement Student s = new Student("Aoife"); ?
Model answer
The keyword new reserves memory for a fresh Student object, runs the Student constructor with the argument Aoife, and hands back a reference to that object, which the variable s then holds.
- 4
Explain why two objects created from the same class can hold different values.
Model answer
Every object receives its own copy of the instance attributes when it is created, so storing a value in one object leaves the attributes of every other object of that class untouched.
- 5
What is a default constructor?
Model answer
A default constructor is a no-argument constructor that the compiler supplies automatically when the programmer has written no constructor of their own, and every attribute is left at its type's default value.
- 6
A class Book declares only the constructor public Book(String title). Explain why the statement Book b = new Book(); will not compile.
Model answer
Writing any constructor stops the compiler supplying the no-argument default, so Book offers only the one-argument form and a call that passes nothing matches no constructor at all.
What is inside Levo
Six ways to work the same material.
Objects, Classes and Data Structures revision questions
- Is Objects, Classes and Data Structures examined at AS in CCEA Software Systems Development?
- Yes. It sits in AS Unit 1, which you take in the first year, so it is on the AS paper as well as counting towards the full A level.
- What does Objects, Classes and Data Structures cover in CCEA AS-Level Software Systems Development?
- 11 subtopics: constructors and creating objects, methods, parameters and return values, encapsulation and access modifiers, getters, setters and validating an object's state, inheritance and the base class, overriding methods and run-time polymorphism, overloading methods, choosing and organising data structures, strings and string handling, static arrays of simple types and arrays of objects. Each one has its own page with questions and model answers.
- How is Objects, Classes and Data Structures organised?
- By the CCEA CL4 specification, subtopic by subtopic, so it matches the order you are taught it in.
Every question in Objects, Classes and Data Structures, on a schedule.
Attempt a question from memory, write the correct version, then attempt it again. Levo records the jump between your first attempt and your last, and brings each question back on the day you are due to forget it.
Or £46 a year, about £3.83 a month. Cancel anytime.