IB Computer Science Option D
Static
A Java keyword. It can be applied to a variable, a method or an inner class. The variables, methods or classes defined by this keyword have a single instance for the whole class and all it's associated objects. It can be accessed when no Object has been instantiated.
Final
A Java keyword. It can be applied to a variable, a method or class and indicates that it cannot be changed , derived from over ridden or extended.
Modularity
A general concept. In software, it applies to writing and implementing a program or computing system as a number of unique modules, rather than as a single, monolithic design. A standardised interface is then used to enable the modules to communicate.
GUI
A graphical user interface that allows the user to interact with an operating system or program through windows, menus, text areas, buttons, and other features that can be navigated using a mouse and keyboard.
Try
A keyword used to define a block of code in which an exception may occur.
Extends
A keyword used to indicate that one class inherits from another.
Catch
A keyword which will define how an exception is to be handled once it has occured.
Accessor
A method used to control access to and returns the value of a private member variable. They are also widely known as getter methods. Often a getter is accompanied by a setter (also known as an mutator), which allows the private member variable to be changed in a controlled way.
Mutator
A method used to control changes to a variable. They are also widely known as setter methods. Often a setter is accompanied by a getter (also known as an accessor), which returns the value of the private member variable.
Setter
A mutator method that can be used to limit or restrict the values allowed for a member variable. This can maintain a limited amount of encapsulation.
Identifier
A name given to a package, class, interface, method, or variable.
Method
A procedure associated with an object class. These procedures should be logical in terms of scope and function and written to encourage re-use.
Algorithm
A process or set of rules to be followed in calculations or other problem-solving operations, especially by a computer.
Cast
A reference to one object or data type can be changed to a reference to another object or data type by this process. The objects in the class need to be related by inheritance or in the case of primitives have a defined way of changing available.
Aggregation
A relationship between two objects which indicates that one is made up of the other. For example a car has a relationship with it's wheels.
Association
A relationship between two objects which may be either a dependency (uses) or aggregation (is made up of).
Dependancy
A relationship between two objects which may be either an association or an inheritance relationship.
Initialise
A special kind of assignment: the first, before, objects have null value and primitive types have default values such as 0 or false. Can be done in conjunction with declaration.
Variable
A storage location paired with an associated symbolic name (an identifier), which contains some known or unknown data referred to as a value. In many computer languages the data type is defined and fixed.
Command Line Interface
A text only way of interacting with a program or operating system. Only needs a keyboard to operate.
Instance Variable
A variable defined in a class (i.e. a member variable), for which each instantiated object of the class has a separate copy, similar to a class variable. Static variable are not included in this definition.
UML
A way of defining the interface, methods, member variables of a class and how they relate to other classes in the system in a graphical form.
Public
An access modifier. A class, method, constructor or interface that is declared like this can be accessed from any other class. All methods, and variables declared like this are inherited by subclasses.
Protected
An access modifier. Variables, methods and constructors that are declared like this can only be accessed by subclasses in other packages or from other classes within the same package.
Private
An access modifier. Variables, methods and constructors that are declared like this can only be accessed from within the class. It is the most restrictive access level. Classes cannot be declared like this. It is the main way that an object encapsulates itself and hides data from outside the class.
Getter
An accessor method that gives access to a member variable and helps to maintain it's encapsulation.
Exception
An event, which occurs during the execution of a program, that disrupts the normal flow of the program's instructions. When an error occurs within a method, the method creates an object and hands it off to the runtime system.
Class
An extensible program-code-template for creating objects, providing initial values for state (member variables) and implementations of behavior (member functions or methods).
Subroutine
Another word for method.
Member
Belonging to an object, normally applied to variables that have an object wide scope.
Proceedural
Code that has a traditional start to finish flow and does not support classes, inheritance, polymorphism or encapsulation.
Libraries
Collections of related code that can be imported into a program to allow the developer to perform standard actions in a re-usable and easy way.
Primitive
Datatypes that are not derived from the Object class and are directly contained values. Java has 8 of these: byte short int long char float double boolean
Data Type
In Java, every variable has a type declared in the source code. There are two kinds of types: reference types and primitive types. Reference types are references to objects. Primitive types directly contained values. There are 8 primitive types: byte short int long char float double boolean
Constructor
In OOP a special type of method which has the same name as the class and is used to create objects. This creation process is known as instantiation.
Polymorphism
In simple terms it is the ability to define a method of the same name that operates differently depending on the class in which it is defined not the data type of the object from which it is referenced.
Inheritance
In this coding construct a class that is derived from another class is called a subclass (also a derived class, extended class, or child class). The class from which the subclass is derived is called a superclass (also a base class or a parent class). Subclasses gain access to the public and protected members and methods of the superclass directly but not the private members and methods. Hence the Objects of the subclass become hybrids of the super and sub classes.
Object Oriented Programming
It provides a clear modular structure for programs which makes it good for defining classes and their associated objects. These classes can be implemented so as to keep details of the algorithms and data hidden through a clearly defined interface. This encourages encapsulation. The classes may inherit from one another to promote reusability of code and methods can be over ridden in class hierarchies giving rise to the benefits of polymorphism.
Extensibility
Something, such as a program, programming language, or protocol, that is designed so that users or developers can expand or add to its capabilities
Template
Sometimes called a Generic, this allows for the production of classes or methods that can take take in arguments and return objects of many different types without having to write multiple different classes or methods.
Decomposition
The breaking down of a complex problem into smaller parts that are easier to understand. In the case of OOP systems are broken down into smaller classes or objects.
Instantiate
The creation of an instance or particular realisation of an abstraction or template such as a class. The product of this is an object of the class type. In OOP this is done by using a particular method called a constructor.
Maintainability
The ease with which changes and fixes can be made to a program.
Signature
The method declaration. It is the combination of the method name, return type and the parameter list.
Return
The output of a method and a keyword in Java.
Parameter Variable
These are sometimes called arguments and are variables that are passed into a method.
Event
This generally occurs when something changes within a graphical user interface. If a user clicks on a button, clicks on a combo box, or types characters into a text field, etc.. .
Encapsulation
This is used to refer to one of two related but distinct notions, and sometimes to the combination thereof: A language mechanism for restricting access to some of the object's components. A language construct that facilitates the bundling of data with the methods (or other functions) operating on that data.
Local Variable
Variables that are only visible within the block of code within which they are declared. These blocks may be method wide, or within a loop or if for example. The area of it's visibility is known as it's scope.
Object
When a class is instantiated the product is one of these. In OOP it is normally what is returned from the constructor.
Throw
When an exception is needed within a method, the method creates an object and hands it off to the runtime system using this keyword.
Event Handler
Method that defines what happens when a user interacts with the graphical interface of the program.
Overloading
Methods within a class that have the same name and return the same data type but take different arguments.
Over riding
Methods within an inheritance hierarchy that have the same signature ( return, name and arguments) but different implementations depending on the class they are defined in. This is the basis of polymorphism.
Arguments
Objects or primitives passed into a method for use by it's internal algorithms.