2.4.5
Object-Oriented Languages
Object-Oriented Languages
Object-Oriented Languages
Object-oriented programming allows us to model real-world objects and manipulate them easily.


Object-oriented programming
Object-oriented programming
- In object-oriented programming, most real-world objects, like cars, can be modelled.
- Each object is an instance of the class. Objects contain:
- Attributes: things we store about them e.g. the make and model of the car.
- Methods: things the object can do e.g. starting the engine or indicating to turn.


Classes
Classes
- A class forms a blueprint that we can use to instantiate (create) an object.
- A car class could be instantiated for every car ever made.
- Each object would have the same behaviours, but slightly different values in their attributes.


Inheritance
Inheritance
- We can define a subclass from what we call the 'super class'.
- These are sometimes known as child class and parent class.
- In inheritance, the subclass inherits all of the attributes and methods of the superclass.
- The subclass can have its own attributes and methods.


Example
Example
- If we had a vehicle super class, we could have a subclass of car that would inherit all of the attributes and methods of the vehicle class.
- The car subclass could add additional attributes such as colour and methods such as indicate_left that do not apply to the vehicle super class.
Classes
Classes
A class is a blueprint for creating objects.


What is a class?
What is a class?
- A class is a blueprint for creating an object.
- One class will often represent one type of real-world object.
- For example: in a snooker game you might have a 'Ball' class.


What is inside a class?
What is inside a class?
- A class contains two main components:
- Attributes: these are variables which describe the object.
- Methods: these are subroutines which allow the object to perform actions.


Classes in Java
Classes in Java
- Classes have different levels of visibility.
- In Java, classes are created using the
class
keyword.- These classes can be made public (can be used in any part of the program) using the
public class
keywords.
- These classes can be made public (can be used in any part of the program) using the
- The image above shows a Java class.
Objects
Objects
Objects are made from classes.


Creating an Object
Creating an Object
- Objects are created from classes.
- To create an object we use the keyword
new
and the name of the class:MyClass myObj = new MyClass();


Accessing attributes
Accessing attributes
- If an attribute of an object is public, then it can be accessed from outside the class.
- Object attributes are accessed using dot notation:
int attr = myObj.attr;


Calling methods
Calling methods
- If a method of an object is public, then it can be accessed from outside the class.
- Object methods are accessed using dot notation:
myObj.doSomething();
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction
Jump to other topics
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction

Unlock your full potential with GoStudent tutoring
Affordable 1:1 tutoring from the comfort of your home
Tutors are matched to your specific learning needs
30+ school subjects covered