Java Classes Methods Objects
Classes
Classes We have been using classes ever since we started programming in Java Whenever we use the keyword class we would be declaring a class Every program must have a main class in order to work, it is the class that the JVM uses to execute the program
Why are classes used? Classes are used to started off a program Classes in Java are also used to create objects (we will talk about objects later on) A class specifies 1. The data it contains 2. The code that uses the data
Classes as Building Blocks A classes are the building blocks to programs For example and architect draws a plan of the house before it is build, the class is the plan
Advantage of Classes Classes provide reusability in programs This means that a class can be used over and over again For example we have a ready made class called the ‘Keyboard.class’, we use this over and over again when we want the program to read an input from the keyboad
Activity Create a program and name the class myAddingClass The code within the class should be able to add two numbers The output should be the result of the addiion
Methods
What is a method? Programs are used to solve complex problems and are MUCH longer than the ones we create at school These programs are split up into a number of sections to make it easier to code and to read These sections are called methods
… A method holds its own specific task which is then joined to other methods to form a complete process A method contains the actions that the program will actually perform So first we create a class and within the class we have a number of methods
Example Lets say we have a program to hold student records The program could have the following methods 1. A method to calculate if a mark is a pass or fail 2. A method to calculate the average marks 3. A method to draw up a graph of the grades
Why do we use Methods? Splitting a problem into different methods makes it much easier to program Methods avoids having to have double code as if we need to use a method twice you would just need to call it
Our First Program As we can see we have one class called FirstProgram We have one methods which is the main method class FirstProgrsam{ public static void main (String args[]) { System.out.println(“hello World”); }
How do we Identify Methods? We know that a block of code is a method as we would see the following syntax The parameter list would be what the method will be using or a statement of when the method should start method name (parameter list) { // body of the method }
Calling Methods In Java when we say we are calling a method we mean that we are asking the program to perform the tasks of a method This is done to save duplicate codes in our program This makes it easier to write and understand codes
//using a methods //calling methods Class callingMethods{ //method findArea static int findArea (int lnegth, int width) { return length * width; } public static void main (String args[]){ //calling method findArea System.out,println(“Area = “ +findArea(5,3); System.out,println(“Area = “ +findArea(5,4); System.out,println(“Area = “ +findArea(5,5); }
Static Methods The method in the previous program was a static method They do not make use of instance variables Static methods take the parameters and compute/calculate something
Public Methods A public method is a method that could be used by other classes In other words another class within the program would be able to use the public method by simply calling them
Void Methods A void method is basically a method that contains the keyword ‘void’ Void methods perform an actions but do not output any sort of result
Instance Methods This is the default type of method Instance methods use instance variables (a set variable) These methods are associated with objects of the program
Objects
What is an Object? In life we have objects all around us such as tables, chairs, desks ect… Every objects has its attributes such as a table has four legs and a straight table top. All tables have this in common – common attributes Objects also have a behaviour for examples dogs bark, eat and breath. All dogs have these behaviours in common
Object Oriented Programming Java is an object oriented programming language, programs in java also take into account different objects with attributes and behaviours For example if we want to draw a triangle on Java we would give it the attributes of the objects – size and colour We could also give it a behaviour and make it move around the screen
Object characteristics Objects have two main characteristics; 1. Attributes = how the object looks and what it is - set as an instance variable in Java 2. Behaviour = what action it would do – set as a method in Java
Creating a Program We will be using an architects plan to find out the following certain attributes of different rooms So a common object we have is a room, so we would need to create an object room using a class.
//create a type room by listing the attributes of a room class Room{ double width; double height; double length; } class HomeDemo1{ public static void main (String args[]){ //creating an object of type room //object is a room with the name bedroom1 Room bedroom1 = new Room(); double volume; //give bedroom1 its attributes bedroom1.width = 4; bedroom1.height = 3; bedroom1.length = 5; //find the volume of the room volume = bedroom1.width * bedroom1.height *bedroom1.length; System.out.println("Volume of Bedroom1 = " + volume); }
Outputs What is the output of the program? Volume of Bedroom1 = 60.0 Which is the class that is creating the data type for the room? Class Room { double width; double height; double length }
Creating two Objects In the next program we will be creating two objects The two objects in this program will be; 1. Bedroom1 (width 5, height 3, length 5) 2. A Kitchen (width 3, height 3, length 4) Create a NEW program to output the volume of both bedroom1 and the kitchen
We need a Method As we can see in out second program the following code is repeated twice; When we have repeated code we realise that we need to create a method, this would eliminate the repeated code volume = bedroom1.width * bedroom1.height * bedroom1.length;
Our new Method Our new method would need to work out the volume We will name this method ‘getVolume’ to understand what the method will be doing In the class Room write the following method //method to calculate the volume double getVolume(){ volume = width * height * length; return volume; } STEP ONE
Eliminating Code Remove the following lines of code from your program; STEP TWO volume = bedroom1.width * bedroom1.height * bedroom1.length; volume = kitchen.width * kitchen.height * kitchen.length; Double volume; 1 2 3
Replacing Code Replace the following code; With; STEP THREE System.out.println("Volume of Bedroom1 = " + volume); System.out.println("Volume of kitchen = " + volume); System.out.println("Volume of Bedroom1 = " + bedroom1.getVolume()); System.out.println("Volume of Kitchen = " + kitchen.getVolume());
Add a Living Room Add a living room to your program with the following attributes; 1. Width = 5 2. Height = 3 3. Length = 6
Area Create a method called getArea This method should return the area So now your program should 1. Hold three objects 2. Two methods 3. Output the Volume of all objects 4. Output the Area of all objects Area = ((width * height) * 2) + ((length * height * 2) + (width * length));